我正在更新使用以下内容的旧版组件
shouldComponentUpdate()
以避免昂贵的状态重新计算componentWillUpdate()
进行重新计算并在 1 通过的情况下呈现docs说
如果
shouldComponentUpdate()
返回false
,则UNSAFE_componentWillUpdate()
,render()
和componentDidUpdate()
将不会被调用`
但是没有提到getDerivedStateFromProps()
。我想用它来代替已弃用的componentWillUpdate()
。
我的问题是:shouldComponentUpdate()
是否以与getDerivedStateFromProps()
相同的方式阻止componentWillUpdate()
的调用?
注意:我知道将记忆作为另一种解决方案。
答案 0 :(得分:0)
当传递的道具更改时,将调用getDerivedStateFromProps()
函数,然后调用shouldComponentUpdate()
。
但是,如果状态发生变化,则仅触发shouldComponentUpdate()
生命周期功能。
您可以查看组件生命周期图here以获得更多帮助