为什么官方文档建议在setState中使用componentDidMount而不是回调?

时间:2017-08-09 10:08:48

标签: reactjs

https://facebook.github.io/react/docs/react-component.html#setstate

我似乎是官方的医生说:

  

setState()的第二个参数是一个可选的回调函数,它将在setState完成并重新呈现组件后执行。通常我们建议使用componentDidUpdate()代替这种逻辑。

为什么他们建议在我们需要使用最新状态时使用componentDidUpdate而不是回调?

1 个答案:

答案 0 :(得分:0)

每次更新发生后,也会立即调用

componentDidUpdate。此时,最新状态会更新。

componentDidUpdate中放置所有检查状态逻辑比使用callback每个setState更容易管理。

顺便说一下,如果您使用redux,我们就不会在您的组件中执行setStateMore about redux

注意:初始渲染不会调用componentDidUpdate

了解更多组件生命周期https://facebook.github.io/react/docs/react-component.html#componentdidupdate