我是React的新手,我遇到了这个doc。它说:
无论哪种方式,为此目的使用componentWillUpdate都是不安全的 在异步模式下,因为外部回调可能会被调用多个 一次更新的时间
如何可能多次调用componentWillUpdate?它没有解释它。
谢谢
答案 0 :(得分:2)
任何应该触发渲染的更改都将首先经历componentWillUpdate生命周期。更改可能是父母重新渲染导致孩子重新渲染,组件道具更改或状态更改。
但是从v16.3.0版本开始,此生命周期方法已被弃用,建议您在componentDidUpdate中处理任何副作用,该副作用将在render方法之后触发。
答案 1 :(得分:0)
在异步模式下,组件的更新/渲染可能会推迟,因此react可以提供一些优先级高的东西。这意味着每次React在您的组件上开始工作时都会调用willUpdate
,但是它可能不会完成完整的更新,因此,每次它在该组件上开始工作时都会调用willUpdate
,而仅调用{{1} },此过程完成后。