Skip to content

Commit 3e3402d

Browse files
authored
Guide > Advanced Guides > Reactivity Fundamentals の翻訳を追従 (#313)
* docs: shallow unwrap on setup vuejs/docs@3e5e52e#diff-55ff289006ef954900bf36417b8e59c1586919dd6ca8d8047d053517cacb8a97 * chore: fix typos vuejs/docs@d7b0ca0#diff-55ff289006ef954900bf36417b8e59c1586919dd6ca8d8047d053517cacb8a97 * fix: correct a couple of typos in reactivity-fundamentals.md vuejs/docs@f9828e0#diff-55ff289006ef954900bf36417b8e59c1586919dd6ca8d8047d053517cacb8a97 * docs: translate reactivity fundamentals page
1 parent 3883d72 commit 3e3402d

File tree

1 file changed

+21
-6
lines changed

1 file changed

+21
-6
lines changed

src/guide/reactivity-fundamentals.md

Lines changed: 21 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,11 +17,11 @@ const state = reactive({
1717

1818
Vue におけるリアクティブな状態の重要なユースケースは描画の際に用いることができることです。依存関係の追跡のおかげで、リアクティブな状態が変化するとビューが自動的に更新されます。
1919

20-
これがまさに Vue のリアクティブシステムの本質です。コンポーネント内の `data()` でオブジェクトを返す際に、内部的には `reactive()` によってリアクティブを実現しています。テンプレートはこれらのリアクティブなプロパティを利用する [render 関数](render-function.html)にコンパイルされます。
20+
これがまさに Vue のリアクティブシステムの本質です。コンポーネント内の `data()` でオブジェクトを返す際に、内部的には `reactive()` によってリアクティブを実現しています。テンプレートはこれらのリアクティブなプロパティを利用する [Render 関数](render-function.html)にコンパイルされます。
2121

22-
`reactive` についての詳細は [基本 リアクティビティ API](../api/basic-reactivity.html) セクションを参照してください
22+
`reactive` についての詳細は [基本リアクティビティ API](../api/basic-reactivity.html) セクションを参照してください
2323

24-
## 独立したリアクティブな値を `参照` として作成する
24+
## 独立したリアクティブな値を `ref` として作成する
2525

2626
独立したプリミティブ値(例えば文字列)があって、それをリアクティブにしたい場合を想像してみてください。もちろん、同じ値の文字列を単一のプロパティとして持つオブジェクトを作成して `reactive` に渡すこともできます。Vue にはこれと同じことをしてくれる `ref` メソッドがあります:
2727

@@ -45,13 +45,14 @@ console.log(count.value) // 1
4545

4646
### ref のアンラップ
4747

48-
ref がレンダーコンテキスト(render contenxt - [setup()](composition-api-setup.html) によって返されるオブジェクト)のプロパティとして返されていてテンプレート内でアクセスされる場合、自動的に内部の値にアンラップ(ref でラップされた値を取り出す)されます。テンプレート内においては `.value` を付ける必要はありません:
48+
ref がレンダーコンテキスト(render contenxt - [setup()](composition-api-setup.html) によって返されるオブジェクト)のプロパティとして返されていてテンプレート内でアクセスされる場合、自動的に内部の値に浅くアンラップ(ref でラップされた値を取り出す)されます。入れ子になった ref だけが、テンプレート内で `.value` が必要です:
4949

5050
```vue-html
5151
<template>
5252
<div>
5353
<span>{{ count }}</span>
5454
<button @click="count ++">Increment count</button>
55+
<button @click="nested.count.value ++">Nested Increment count</button>
5556
</div>
5657
</template>
5758
@@ -61,13 +62,27 @@ ref がレンダーコンテキスト(render contenxt - [setup()](composition-ap
6162
setup() {
6263
const count = ref(0)
6364
return {
64-
count
65+
count,
66+
67+
nested: {
68+
count
69+
}
6570
}
6671
}
6772
}
6873
</script>
6974
```
7075

76+
:::tip
77+
実際のオブジェクトインスタンスにアクセスする必要がない場合は、 `reactive` でラップできます:
78+
79+
```js
80+
nested: reactive({
81+
count
82+
})
83+
```
84+
:::
85+
7186
### リアクティブオブジェクト内でのアクセス
7287

7388
`ref` がリアクティブオブジェクトのプロパティとしてアクセスまたは更新される際に、自動的に内部の値にアンラップされて通常のプロパティのように振る舞います:
@@ -147,7 +162,7 @@ console.log(book.title) // 'Vue 3 Detailed Guide'
147162

148163
## `readonly` でリアクティブオブジェクトの変更を防ぐ
149164

150-
リアクティブオブジェクト(`ref``reactive`)の変更を追跡しながらも、アプリケーションのある場所からの変更は防ぎたい場合があります。例えば、[provide](component-provide-inject.html) されたリアクティブオブジェクトがある場合、それが注入された場所からの変更は防ぎたいことがあります。そうするために、元のオブジェクトに対する読み取り専用のプロキシを作成します:
165+
リアクティブオブジェクト(`ref``reactive`)の変更を追跡しながらも、アプリケーションのある場所からの変更は防ぎたい場合があります。例えば、[Provide](component-provide-inject.html) されたリアクティブオブジェクトがある場合、それが注入された場所からの変更は防ぎたいことがあります。そうするために、元のオブジェクトに対する読み取り専用のプロキシを作成します:
151166

152167
```js
153168
import { reactive, readonly } from 'vue'

0 commit comments

Comments
 (0)