Skip to content

Commit c42d2e8

Browse files
xhwgoodQC-L
authored andcommitted
docs(cn): fix errors in reference-react-component.md (reactjs#336)
1 parent 2a40168 commit c42d2e8

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

content/docs/reference-react-component.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ componentDidMount()
198198

199199
这个方法是比较适合添加订阅的地方。如果添加了订阅,请不要忘记在 `componentWillUnmount()` 里取消订阅
200200

201-
你可以在 `componentDidMount()`**可以直接调用 `setState()`**。它将触发额外渲染,但此渲染会发生在浏览器更新屏幕之前。如此保证了即使在 `render()` 两次调用的情况下,用户也不会看到中间状态。请谨慎使用该模式,因为它会导致性能问题。通常,你应该在 `constructor()` 中初始化 state。如果你的渲染依赖于 DOM 节点的大小或位置,比如实现 modals 和 tooltips 等情况下,你可以使用此方式处理
201+
你可以在 `componentDidMount()`**直接调用 `setState()`**。它将触发额外渲染,但此渲染会发生在浏览器更新屏幕之前。如此保证了即使在 `render()` 两次调用的情况下,用户也不会看到中间状态。请谨慎使用该模式,因为它会导致性能问题。通常,你应该在 `constructor()` 中初始化 state。如果你的渲染依赖于 DOM 节点的大小或位置,比如实现 modals 和 tooltips 等情况下,你可以使用此方式处理
202202

203203
* * *
204204

@@ -221,7 +221,7 @@ componentDidUpdate(prevProps) {
221221
}
222222
```
223223

224-
你也可以在 `componentDidUpdate()`**直接调用 `setState()`**,但请注意**它必须被包裹在一个条件语件里**,正如上述的例子那样进行处理,否则会导致死循环。它还会导致额外的重新渲染,虽然用户不可见,但会影响组件性能。不要将 props “镜像”给 state,请考虑直接使用 props。 欲了解更多有关内容,请参阅[为什么 props 复制给 state 会产生 bug](/blog/2018/06/07/you-probably-dont-need-derived-state.html)
224+
你也可以在 `componentDidUpdate()`**直接调用 `setState()`**,但请注意**它必须被包裹在一个条件语句里**,正如上述的例子那样进行处理,否则会导致死循环。它还会导致额外的重新渲染,虽然用户不可见,但会影响组件性能。不要将 props “镜像”给 state,请考虑直接使用 props。 欲了解更多有关内容,请参阅[为什么 props 复制给 state 会产生 bug](/blog/2018/06/07/you-probably-dont-need-derived-state.html)
225225

226226
如果组件实现了 `getSnapshotBeforeUpdate()` 生命周期(不常用),则它的返回值将作为 `componentDidUpdate()` 的第三个参数 “snapshot” 参数传递。否则此参数将为 undefined。
227227

0 commit comments

Comments
 (0)