React componentWillUpdate被调用两次

时间:2019-02-05 11:57:19

标签: javascript reactjs

我是React的新手,我遇到了这个doc。它说:

  

无论哪种方式,为此目的使用componentWillUpdate都是不安全的   在异步模式下,因为外部回调可能会被调用多个   一次更新的时间

如何可能多次调用componentWillUpdate?它没有解释它。

谢谢

2 个答案:

答案 0 :(得分:2)

任何应该触发渲染的更改都将首先经历componentWillUpdate生命周期。更改可能是父母重新渲染导致孩子重新渲染,组件道具更改或状态更改。

但是从v16.3.0版本开始,此生命周期方法已被弃用,建议您在componentDidUpdate中处理任何副作用,该副作用将在render方法之后触发。

答案 1 :(得分:0)

在异步模式下,组件的更新/渲染可能会推迟,因此react可以提供一些优先级高的东西。这意味着每次React在您的组件上开始工作时都会调用willUpdate,但是它可能不会完成完整的更新,因此,每次它在该组件上开始工作时都会调用willUpdate,而仅调用{{1} },此过程完成后。