File tree Expand file tree Collapse file tree 1 file changed +1
-1
lines changed Expand file tree Collapse file tree 1 file changed +1
-1
lines changed Original file line number Diff line number Diff line change @@ -728,7 +728,7 @@ function TodoList() {
728
728
- **Effect 不会在服务端运行**。这意味着最初由服务器渲染的 HTML 只会包含加载状态,而没有实际数据。客户端必须先下载所有的 JavaScript 并渲染应用,才会发现它需要加载数据——这并不高效。
729
729
- **直接在 Effect 中进行数据请求,容易产生“网络瀑布(network waterfall)”**。首先父组件渲染时请求一些数据,随后渲染子组件,接着子组件开始请求它们的数据。如果网络速度不快,这种方式会比并行获取所有数据慢得多。
730
730
- **直接在 Effect 中进行数据请求往往无法预加载或缓存数据**。例如,如果组件卸载后重新挂载,它必须重新获取数据。
731
- - **不够简洁**。编写 fecth 请求时为了避免 [竞态条件(race condition)](https://maxrozen.com/race-conditions-fetching-data-react-with-useeffect) 等问题,会需要很多样板代码。
731
+ - **不够简洁**。编写 fetch 请求时为了避免 [竞态条件(race condition)](https://maxrozen.com/race-conditions-fetching-data-react-with-useeffect) 等问题,会需要很多样板代码。
732
732
733
733
这些弊端并不仅限于 React。任何库在组件挂载时进行数据获取都会遇到这些问题。与路由处理一样,要做好数据获取并非易事,因此我们推荐以下方法:
734
734
You can’t perform that action at this time.
0 commit comments