From 5f84f020b5d144e1f41e3104bea0fa0bc0553d17 Mon Sep 17 00:00:00 2001 From: Yucohny <79147654+Yucohny@users.noreply.github.com> Date: Mon, 30 Oct 2023 11:13:19 +0800 Subject: [PATCH] docs(cn): standardize the translations of the word fallback (#1360) Co-authored-by: Xavi Lee --- .../blog/2022/03/08/react-18-upgrade-guide.md | 6 +-- src/content/blog/2022/03/29/react-v18.md | 4 +- ...what-we-have-been-working-on-march-2023.md | 2 +- src/content/reference/react-dom/flushSync.md | 4 +- .../server/renderToPipeableStream.md | 18 ++++---- .../server/renderToReadableStream.md | 16 +++---- .../react-dom/server/renderToStaticMarkup.md | 2 +- .../react-dom/server/renderToString.md | 4 +- src/content/reference/react/Component.md | 4 +- src/content/reference/react/Suspense.md | 42 +++++++++---------- src/content/reference/react/components.md | 2 +- src/content/reference/react/createContext.md | 4 +- src/content/reference/react/use.md | 6 +-- src/content/reference/react/useContext.md | 2 +- .../reference/react/useDeferredValue.md | 6 +-- .../reference/react/useLayoutEffect.md | 2 +- src/content/reference/react/useTransition.md | 2 +- 17 files changed, 63 insertions(+), 63 deletions(-) diff --git a/src/content/blog/2022/03/08/react-18-upgrade-guide.md b/src/content/blog/2022/03/08/react-18-upgrade-guide.md index ca50fe441f..765459c30e 100644 --- a/src/content/blog/2022/03/08/react-18-upgrade-guide.md +++ b/src/content/blog/2022/03/08/react-18-upgrade-guide.md @@ -305,7 +305,7 @@ globalThis.IS_REACT_ACT_ENVIRONMENT = true; * **一致的 useEffect 时间**:现在,如果更新是在类似点击或者敲击键盘事件这样的离散用户输入事件期间触发,React 总是同步刷新 effect 函数。而之前的行为不是一直可预测或者一致的。 * **更严格的 hydrate 报错**:由于缺失或者额外的文本而导致的 hydrate 不匹配现在会作为错误而不是告警对待。React 将不再试图通过在客户端增加或删除节点来“修补”单个节点来匹配服务端标记,并且将会回退客户端渲染到树中最近的 `` 边界。这可以保证 hydrate 树保持一致并且避免可能由 hydrate 不匹配导致的隐私和安全漏洞。 * **Suspense 树一直保持一致**:如果一个组件在它完全被添加到树上之前挂起,React 将不会把它以不完整的状态添加到树或者触发它的 effect。React 会完全扔掉新树,等待异步操作结束,然后重新尝试从头开始再次渲染。React 会同时渲染重试尝试,并且不会阻塞浏览器。 -* **使用 Suspense 的 Layout Effect**:当一个树重新挂起并恢复为回退时,现在的 React 会清理 layout effect,然后在边界内的内容再次显示时重新创建它们。这修复了一个在与 Suspense 一起使用时的问题:阻止组件库正确测量布局。 +* **使用 Suspense 的 Layout Effect**:当一个树重新挂起并恢复为后备方案时,现在的 React 会清理 layout effect,然后在边界内的内容再次显示时重新创建它们。这修复了一个在与 Suspense 一起使用时的问题:阻止组件库正确测量布局。 * **新的 JavaScript 环境要求**:React 现在依赖于现代浏览器特性,包括 `Promise`、`Symbol` 和 `Object.assign`。如果你需要支持像 Internet Explorer 这样较老版本的浏览器和设备,它们本身不提供现代浏览器特性或者有不兼容的实现,可以考虑在打包后的应用中包含全局的 polyfill。 ## 其他值得注意的变化 {/*other-notable-changes*/} @@ -320,8 +320,8 @@ globalThis.IS_REACT_ACT_ENVIRONMENT = true; ### React DOM Server {/*react-dom-server*/} -* **`renderToString`**:当在服务端挂起时,它不再会报错。而是会为最接近的 `` 边界发射 fallback HTML,然后在客户端尝试渲染同样的内容。我们仍然推荐你切换到像 `renderToPipeableStream` 或者 `renderToReadableStream` 这样的流式 API。 -* **`renderToStaticMarkup`**:当在服务端挂起时,它不再会报错。而是会为最接近的 `` 边界发射 fallback HTML。 +* **`renderToString`**:当在服务端挂起时,它不再会报错。而是会为最接近的 `` 边界发射后备 HTML,然后在客户端尝试渲染同样的内容。我们仍然推荐你切换到像 `renderToPipeableStream` 或者 `renderToReadableStream` 这样的流式 API。 +* **`renderToStaticMarkup`**:当在服务端挂起时,它不再会报错。而是会为最接近的 `` 边界发射后备 HTML。 ## 更新日志 {/*changelog*/} diff --git a/src/content/blog/2022/03/29/react-v18.md b/src/content/blog/2022/03/29/react-v18.md index a8ebd43e17..98fe646405 100644 --- a/src/content/blog/2022/03/29/react-v18.md +++ b/src/content/blog/2022/03/29/react-v18.md @@ -74,7 +74,7 @@ React 18 中最重要的更新内容是我们希望你永远不会考虑的: 在未来,我们可能会暴露更多原语,使你能用 `Suspense` 更容易地获取数据,那时也就不一定必须要使用某个的框架。不过,Suspense 被深度整合到你的应用结构中时能产生最好的效果:你的路由,你的数据层,你的服务端渲染环境。因此我们预计,即使在未来相当长一段时间里,库和框架也还会在 React 生态中发挥关键作用。 -就像在过去的 React 的版本中,你总是可以使用 Suspense 与客户端侧的 `React.lazy` 配合进行代码分割。但是我们的对 Suspense 的期望并不仅仅是加载代码——最终的目标是扩展对 Suspense 的支持,以至于相同的声明式 Suspense fallback 能够处理任何异步操作(加载代码,数据,图片等)。 +就像在过去的 React 的版本中,你总是可以使用 Suspense 与客户端侧的 `React.lazy` 配合进行代码分割。但是我们的对 Suspense 的期望并不仅仅是加载代码——最终的目标是扩展对 Suspense 的支持,以至于相同的声明式 Suspense 后备方案能够处理任何异步操作(加载代码,数据,图片等)。 ## 服务器组件仍在开发中 {/*server-components-is-still-in-development*/} @@ -162,7 +162,7 @@ Suspense 使得“UI 加载状态”成为了 React 编程模型中最高级的 在 React 18 中,我们已经支持了服务端 Suspense,并且使用并发渲染特性扩展了其功能。 -React 18 中的 Suspense 在与 transition API 结合时效果最好。如果你在 transition 期间挂起,React 不会让已显示的内容被之前的内容取代。相反,React 会延迟渲染,直到有足够的数据,以防止出现加载状态错误。 +React 18 中的 Suspense 在与 transition API 结合时效果最好。如果你在 transition 期间挂起,React 不会让已显示的内容被后备方案取代。相反,React 会延迟渲染,直到有足够的数据,以防止出现加载状态错误。 更多内容参见 [React 18 中的 Suspense](https://github.com/reactjs/rfcs/blob/main/text/0213-suspense-in-react-18.md) 的意见征求。 diff --git a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md index 0885d8bff4..59248b63b9 100644 --- a/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md +++ b/src/content/blog/2023/03/22/react-labs-what-we-have-been-working-on-march-2023.md @@ -85,7 +85,7 @@ React 的核心思想是开发人员将其 UI 定义为当前状态的函数。 我们的想法是,开发者应该能够在不更改组件编写方式的情况下,将任何 React 树渲染到屏幕外。当组件被离屏渲染时,它实际上并没有 **挂载**,直到组件变为可见状态——其效果不会被触发。例如,如果组件使用 `useEffect` 在首次出现时记录分析数据,预渲染不会影响数据的准确性。同样,当组件离开屏幕时,其效果也会被卸载。离屏渲染的一个关键特性是,可以切换组件的可见性,而不会失去其状态。 -自上次更新以来,我们在 Meta 的 React Native 应用程序上测试了一个实验性的预渲染版本,包括 Android 和 iOS,性能表现良好。我们还改进了离屏渲染与 Suspense 的配合方式——在离屏树中挂起(suspend)但不会触发 suspense fallback。我们剩下的工作是完成向库开发人员公开的基本组件。我们预计将于今年晚些时候发布一个 RFC,同时发布一个实验性的 API 用于测试和反馈。 +自上次更新以来,我们在 Meta 的 React Native 应用程序上测试了一个实验性的预渲染版本,包括 Android 和 iOS,性能表现良好。我们还改进了离屏渲染与 Suspense 的配合方式——在离屏树中挂起(suspend)但不会触发 Suspense 后备方案。我们剩下的工作是完成向库开发人员公开的基本组件。我们预计将于今年晚些时候发布一个 RFC,同时发布一个实验性的 API 用于测试和反馈。 ## 追踪 transition {/*transition-tracing*/} diff --git a/src/content/reference/react-dom/flushSync.md b/src/content/reference/react-dom/flushSync.md index 878dc1f3fa..fccd214bc2 100644 --- a/src/content/reference/react-dom/flushSync.md +++ b/src/content/reference/react-dom/flushSync.md @@ -43,7 +43,7 @@ flushSync(() => { #### 参数 {/*parameters*/} -* `callback`:一个函数。React 会立即调用这个回调函数,并同步刷新其中包含的任何更新。它也可能会刷新任何挂起的更新、Effect 或 Effect 内部的更新。如果因为调用 `flushSync` 而导致更新挂起(suspend),则可能会重新显示 fallback。 +* `callback`:一个函数。React 会立即调用这个回调函数,并同步刷新其中包含的任何更新。它也可能会刷新任何挂起的更新、Effect 或 Effect 内部的更新。如果因为调用 `flushSync` 而导致更新挂起(suspend),则可能会重新显示后备方案。 #### 返回值 {/*returns*/} @@ -126,7 +126,7 @@ export default function PrintApp() { -`flushSync` 可能会严重影响性能,并且可能会意外地强制挂起的 Suspense 边界显示其 fallback 状态。 +`flushSync` 可能会严重影响性能,并且可能会意外地强制挂起的 Suspense 边界显示其后备状态。 大多数时候都不需要使用 `flushSync`,请将其作为最后的手段使用。 diff --git a/src/content/reference/react-dom/server/renderToPipeableStream.md b/src/content/reference/react-dom/server/renderToPipeableStream.md index 77d2d3926d..dac5dc6145 100644 --- a/src/content/reference/react-dom/server/renderToPipeableStream.md +++ b/src/content/reference/react-dom/server/renderToPipeableStream.md @@ -57,8 +57,8 @@ const { pipe } = renderToPipeableStream(, { * **可选** `nonce`:[`nonce`](http://developer.mozilla.org/zh-CN/docs/Web/HTML/Element/script#nonce) 一个字符串,能为脚本设置跨域限制,即 [`script-src` 浏览器内容安全策略](https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Content-Security-Policy/script-src)。 * **可选** `onAllReady`:一个回调函数,将会在所有渲染完成时触发,包括 [shell](#specifying-what-goes-into-the-shell) 和所有额外的 [content](#streaming-more-content-as-it-loads)。你可以用这个替代 `onShellReady` [用于爬虫和静态内容生成](#waiting-for-all-content-to-load-for-crawlers-and-static-generation)。如果在此处开启了流式传输,所有的 HTML 都会被包含在流中直接返回,而不会有任何渐进的加载。 * **可选** `onError`:一个回调函数,只要是出现了异常错误,无论这是 [可恢复的](#recovering-from-errors-outside-the-shell) 还是 [不可恢复的](#recovering-from-errors-inside-the-shell),它都会触发。默认情况下,它只会调用 `console.error`。如果你想要将它重写为 [日志崩溃报告](#logging-crashes-on-the-server),记得仍然要使用 `console.error` 为可能不兼容的场景兜底。你也可以在 shell 发送之前使用它来 [修改状态码](#setting-the-status-code)。 - * **可选** `onShellReady`:一个回调函数,在 [shell 初始化](#specifying-what-goes-into-the-shell) 渲染后立即调用。你可以 [设置状态码](#setting-the-status-code) 然后在这里调用 `pipe` 方法启用流式传输。这样一来,React 将会初始化 shell 渲染完毕后,通过上面提到的 `