@@ -17,11 +17,11 @@ const state = reactive({
1717
1818Vue におけるリアクティブな状態の重要なユースケースは描画の際に用いることができることです。依存関係の追跡のおかげで、リアクティブな状態が変化するとビューが自動的に更新されます。
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
153168import { reactive , readonly } from ' vue'
0 commit comments