Skip to content

Commit 059fb76

Browse files
committed
docs: translate reactivity computed and watchers page
1 parent a4800ed commit 059fb76

File tree

1 file changed

+19
-19
lines changed

1 file changed

+19
-19
lines changed

src/guide/reactivity-computed-watchers.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
## 算出プロパティ
66

7-
開発中に、他の状態に依存した状態が必要となることがあります。Vue では、これをコンポーネントの[算出プロパティ](computed.html#computed-properties)として処理します。算出プロパティの作成には、getter 関数を受け取り、関数の返り値に対して、イミュータブルでリアクティブな [ref](./reactivity-fundamentals.html#独立したリアクティブな値を-参照-として作成する) オブジェクトを返却する `computed` メソッドを利用します
7+
開発中に、他の状態に依存した状態が必要となることがあります。Vue では、これをコンポーネントの [算出プロパティ](computed.html#算出プロパティ) として処理します。算出プロパティの作成には、getter 関数を受け取り、関数の返り値に対して、イミュータブルでリアクティブな [ref](./reactivity-fundamentals.html#独立したリアクティブな値を-ref-として作成する) オブジェクトを返却する `computed` メソッドを利用します。
88

99
```js
1010
const count = ref(1)
@@ -48,7 +48,7 @@ setTimeout(() => {
4848

4949
### 監視の停止
5050

51-
`watchEffect` をコンポーネントの [setup()](composition-api-setup.html) 関数または[ライフサイクルフック](composition-api-lifecycle-hooks.html)の中で呼び出すと、ウォッチャはコンポーネントのライフサイクルにリンクされ、コンポーネントのアンマウント時に自動的に監視が停止します。
51+
`watchEffect` をコンポーネントの [setup()](composition-api-setup.html) 関数または [ライフサイクルフック](composition-api-lifecycle-hooks.html) の中で呼び出すと、ウォッチャはコンポーネントのライフサイクルにリンクされ、コンポーネントのアンマウント時に自動的に監視が停止します。
5252

5353
その他のケースのため、明示的にウォッチャによる監視を停止するための stop ハンドルが返されます:
5454

@@ -63,10 +63,10 @@ stop()
6363

6464
### 副作用の無効化
6565

66-
ウォッチされている関数は、それが無効化された時(つまりは、該当の作用が完了する前に状態が変化した時)にクリーンアップする必要のある非同期の関数を実行することがあります。 watchEffect による関数は、コールバックを無効化するための `onInvalidate` 関数を受け取ることができます。この関数は以下の場合に呼び出されます:
66+
ウォッチされている関数は、それが無効化された時つまりは、該当の作用が完了する前に状態が変化した時にクリーンアップする必要のある非同期の関数を実行することがあります。 watchEffect による関数は、コールバックを無効化するための `onInvalidate` 関数を受け取ることができます。この関数は以下の場合に呼び出されます:
6767

6868
- 該当の作用が再度実行された場合
69-
- ウォッチャが停止した場合 (例: `setup()` またはライフサイクルフックの中で `watchEffect` が使用されているコンポーネントがアンマウントされた時)
69+
- ウォッチャが停止した場合例: `setup()` またはライフサイクルフックの中で `watchEffect` が使用されているコンポーネントがアンマウントされた時
7070

7171
```js
7272
watchEffect(onInvalidate => {
@@ -79,7 +79,7 @@ watchEffect(onInvalidate => {
7979
})
8080
```
8181

82-
無効化するコールバックを直接返すのではなく、 `onInvalidate` 関数のコールバックを経由して登録しているのは、非同期のエラー処理では、返り値が非常に重要であるためです。データ取得を行う時、作用となる関数が非同期であることは非常に一般的なことです:
82+
無効化するコールバックを直接返すのではなく、 `onInvalidate` 関数のコールバックを経由して登録しているのは、非同期のエラー処理では、返り値が非常に重要だからです。データ取得を行う時、作用となる関数が非同期であることは非常に一般的なことです:
8383

8484
```js
8585
const data = ref(null)
@@ -93,7 +93,7 @@ watchEffect(async (onInvalidate) => {
9393

9494
### 作用フラッシュのタイミング
9595

96-
Vue のリアクティブシステムは、無効になった変更をバッファリングし、非同期に処理することによって、おなじ "tick" の中での複数の状態の変化に対して、不要な重複の呼び出しを避けることができています。内部的には、コンポーネントの `update` 関数も、監視されている作用の一つです。ユーザーによる作用がキューに入っている場合、デフォルトではすべてのコンポーネントの更新の **前に** 呼び出されます:
96+
Vue のリアクティブシステムは、無効になった変更をバッファリングし、非同期に処理することによって、おなじ "tick" の中での複数の状態の変化に対して、不要な重複の呼び出しを避けることができています。内部的には、コンポーネントの `update` 関数も、監視されている作用の 1 つです。ユーザーによる作用がキューに入っている場合、デフォルトではすべてのコンポーネントの更新の **前に** 呼び出されます:
9797

9898
```html
9999

@@ -121,9 +121,9 @@ Vue のリアクティブシステムは、無効になった変更をバッフ
121121
この例では:
122122

123123
- count は最初の実行時に同期的に記録されます。
124-
- `count` が変化した時、コンポーネントの**変更前**にコールバック関数が実行されます。
124+
- `count` が変化した時、コンポーネントの **変更前** にコールバック関数が実行されます。
125125

126-
In cases where a watcher effect needs to be re-run **after** component updates (i.e. when working with [Template Refs](./composition-api-template-refs.md#watching-template-refs)), we can pass an additional `options` object with the `flush` option (default is `'pre'`):
126+
コンポーネントの **更新後に** ウォッチャの作用を再実行する必要がある場合(例: [テンプレート参照](./composition-api-template-refs.md#テンプレート参照の監視) を使っている場合など)、追加の `options` オブジェクトを `flush` オプション(デフォルトは `'pre'`)と一緒に渡すことができます:
127127

128128
```js
129129
// コンポーネントが更新された後に発火、更新された DOM にアクセスできる
@@ -139,7 +139,7 @@ watchEffect(
139139
)
140140
```
141141

142-
The `flush` option also accepts `'sync'`, which forces the effect to always trigger synchronously. This is however inefficient and should be rarely needed.
142+
`flush` オプションは `'sync'` も指定できます。これは作用をいつも同期的に発火することを強制します。しかし、これは非効率的であって、ほとんど必要ないでしょう。
143143

144144
### Watcher のデバッグ
145145

@@ -167,7 +167,7 @@ watchEffect(
167167

168168
## `watch`
169169

170-
`watch` API は、コンポーネントの[watch](computed.html#watchers) プロパティと完全に同じものです。`watch` は特定のデータソースを監視し、別のコールバック関数内で副作用を適用する必要があります。また、デフォルトでは lazy となっています(つまり、監視しているデータソースが変更された場合に限り、コールバック関数が実行されます)
170+
`watch` API は、コンポーネントの [watch](computed.html#ウォッチャ) プロパティと完全に同じものです。`watch` は特定のデータソースを監視し、別のコールバック関数内で副作用を適用する必要があります。また、デフォルトでは lazy となっていますつまり、監視しているデータソースが変更された場合に限り、コールバック関数が実行されます
171171

172172
- [watchEffect](#watcheffect) と比較して、 `watch` は以下を可能とします:
173173

@@ -212,9 +212,9 @@ firstName.value = "John"; // logs: ["John",""] ["", ""]
212212
lastName.value = "Smith"; // logs: ["John", "Smith"] ["John", ""]
213213
```
214214

215-
### Watching Reactive Objects
215+
### リアクティブなオブジェクトの監視
216216

217-
Using a watcher to compare values of an array or object that are reactive requires that it has a copy made of just the values.
217+
ウォッチャを使って、リアクティブな配列やオブジェクトの値を比較するには、値だけのコピーを作っておく必要があります。
218218

219219
```js
220220
const numbers = reactive([1, 2, 3, 4])
@@ -228,12 +228,12 @@ watch(
228228
numbers.push(5) // logs: [1,2,3,4,5] [1,2,3,4]
229229
```
230230

231-
Attempting to check for changes of properties in a deeply nested object or array will still require the `deep` option to be true:
231+
深くネストしたオブジェクトや配列のプロパティの変更をチェックするには、やはり `deep` オプションを true にする必要があります:
232232

233233
```js
234-
const state = reactive({
235-
id: 1,
236-
attributes: {
234+
const state = reactive({
235+
id: 1,
236+
attributes: {
237237
name: "",
238238
},
239239
});
@@ -264,7 +264,7 @@ watch(
264264
state.attributes.name = "Alex"; // Logs: "deep " "Alex" "Alex"
265265
```
266266

267-
However, watching a reactive object or array will always return a reference to the current value of that object for both the current and previous value of the state. To fully watch deeply nested objects and arrays, a deep copy of values may be required. This can be achieved with a utility such as [lodash.cloneDeep](https://lodash.com/docs/4.17.15#cloneDeep)
267+
しかし、リアクティブなオブジェクトや配列を監視すると、そのオブジェクトの状態の現在値と前回値の両方について参照が常に返されます。深くネストされたオブジェクトや配列を完全に監視するためには、値のディープコピーが必要な場合があります。これは [lodash.cloneDeep](https://lodash.com/docs/4.17.15#cloneDeep) のようなユーティリティで実現できます。
268268

269269
```js
270270
import _ from 'lodash';
@@ -280,7 +280,7 @@ watch(
280280
() => _.cloneDeep(state),
281281
(state, prevState) => {
282282
console.log(
283-
state.attributes.name,
283+
state.attributes.name,
284284
prevState.attributes.name
285285
);
286286
}
@@ -291,4 +291,4 @@ state.attributes.name = "Alex"; // Logs: "Alex" ""
291291

292292
### `watchEffect` との振る舞いの共有
293293

294-
`watch`[明示的な停止](#stopping-the-watcher)[副作用の無効化](#side-effect-invalidation) (代わりに第三引数に `onInvalidate` を渡すことになります)[作用フラッシュのタイミング](#effect-flush-timing)ならびに[デバッグ手法](#watcher-debugging)についての挙動を[`watchEffect`](#watcheffect)と共有しています。
294+
`watch` [明示的な停止](#監視の停止)[副作用の無効化](#副作用の無効化)代わりに第三引数に `onInvalidate` を渡すことになります[作用フラッシュのタイミング](#作用フラッシュのタイミング) ならびに [デバッグ手法](#watcher-のデバッグ) についての挙動を [`watchEffect`](#watcheffect) と共有しています。

0 commit comments

Comments
 (0)