From 5d6ef4623fd04d4bf4e0c36668bb98115365bded Mon Sep 17 00:00:00 2001 From: giser Date: Sat, 7 Dec 2024 14:16:09 +0900 Subject: [PATCH 1/3] Refine terminology usage --- src/content/learn/synchronizing-with-effects.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/synchronizing-with-effects.md b/src/content/learn/synchronizing-with-effects.md index c959e27752..1fee772c24 100644 --- a/src/content/learn/synchronizing-with-effects.md +++ b/src/content/learn/synchronizing-with-effects.md @@ -399,7 +399,7 @@ video { width: 250px; } 依赖数组可以包含多个依赖项。只有当你指定的 **所有** 依赖项的值都与上一次渲染时完全相同,React 才会跳过重新运行该 Effect。React 使用 [`Object.is`](https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Object/is) 来比较依赖项的值。有关详细信息,请参阅 [`useEffect` 参考文档](/reference/react/useEffect#reference)。 -**请注意,你不能随意“选择”依赖项**。如果你指定的依赖项与 React 根据 Effect 内部代码所推断出的依赖项不匹配,你将收到来自 lint 的错误提示。这有助于捕捉代码中的许多 bug。如果你不希望某些代码重新运行,[那么你应当 **修改 Effect 代码本身**,使其不再“需要”该依赖项](/learn/lifecycle-of-reactive-effects#what-to-do-when-you-dont-want-to-re-synchronize)。 +**请注意,你不能随意“选择”依赖项**。如果你指定的依赖项与 React 根据 Effect 内部代码所推断出的依赖项不匹配,你将收到来自 linter 的错误提示。这有助于捕捉代码中的许多 bug。如果你不希望某些代码重新运行,[那么你应当 **修改 Effect 代码本身**,使其不再“需要”该依赖项](/learn/lifecycle-of-reactive-effects#what-to-do-when-you-dont-want-to-re-synchronize)。 From 714b2e5f86c71b589fe8a37a3dd6dff1005277b7 Mon Sep 17 00:00:00 2001 From: giser Date: Sat, 7 Dec 2024 15:03:01 +0900 Subject: [PATCH 2/3] Fix an inaccurate translation --- src/content/learn/removing-effect-dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/removing-effect-dependencies.md b/src/content/learn/removing-effect-dependencies.md index ea6db000fb..75f6532cb2 100644 --- a/src/content/learn/removing-effect-dependencies.md +++ b/src/content/learn/removing-effect-dependencies.md @@ -109,7 +109,7 @@ function ChatRoom({ roomId }) { } ``` -[Effect “反应”响应式值](/learn/lifecycle-of-reactive-effects#effects-react-to-reactive-values) 因为这里的 `roomId` 是一个响应式值(它可能随重新渲染而改变),所以 linter 会验证你是否将它指定为依赖。如果 `roomId` 变成不同的值,React 将重新运行 Effect。这可以确保聊天界面与所选房间保持一致,并把变化“反馈”给下拉菜单: +[Effect 会对响应式值作出“反应”。](/learn/lifecycle-of-reactive-effects#effects-react-to-reactive-values) 因为这里的 `roomId` 是一个响应式值(它可能随重新渲染而改变),所以 linter 会验证你是否将它指定为依赖。如果 `roomId` 变成不同的值,React 将重新运行 Effect。这可以确保聊天界面与所选房间保持一致,并把变化“反馈”给下拉菜单: From cf6f6f5adf77638e795d2e33defb04f28956f45d Mon Sep 17 00:00:00 2001 From: giser Date: Sat, 7 Dec 2024 16:16:50 +0900 Subject: [PATCH 3/3] Add missing index number --- src/content/learn/removing-effect-dependencies.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/content/learn/removing-effect-dependencies.md b/src/content/learn/removing-effect-dependencies.md index 75f6532cb2..d68978e436 100644 --- a/src/content/learn/removing-effect-dependencies.md +++ b/src/content/learn/removing-effect-dependencies.md @@ -2333,4 +2333,4 @@ label, button { display: block; margin-bottom: 5px; } **译注**: - 在创建 `onTick` 函数时,由于闭包的缘故,`setCount(count + increment)` 捕获的是创建时 `count` 和 `increment` 值。由于这里的“说谎”,每次重新渲染时新创建的 `onTick` 函数不能替换掉 Effect 里旧 `onTick` 函数,于是最终的效果就是 `setCount(0 + 1)`
+ [1] 在创建 `onTick` 函数时,由于闭包的缘故,`setCount(count + increment)` 捕获的是创建时 `count` 和 `increment` 值。由于这里的“说谎”,每次重新渲染时新创建的 `onTick` 函数不能替换掉 Effect 里旧 `onTick` 函数,于是最终的效果就是 `setCount(0 + 1)`