在 React 生命周期函数shouldComponentUpdate(nextProps, nextState)中,nextProps 是不言自明的。
但是 nextState 是做什么的呢?
在决定是否应该渲染/修改组件之前,我可以评估即将到来的状态,这听起来是不对的。
在 React 生命周期函数shouldComponentUpdate(nextProps, nextState)中,nextProps 是不言自明的。
但是 nextState 是做什么的呢?
在决定是否应该渲染/修改组件之前,我可以评估即将到来的状态,这听起来是不对的。
基本上,此时状态已经改变,您是否认为有必要重新渲染组件并基于此返回 true 或 false
nextState
就像您提到的那样,用于检测组件是否应该根据即将到来的状态进行更新。
这有助于优化更新组件。例如:
如果状态变成具有多个属性的大对象,但特定组件只关心单个属性或状态的一小部分,您可以检查该更改以确定该组件是否需要重新渲染。这个例子取自 React 文档,但很好地理解了这一点:
shouldComponentUpdate(nextProps, nextState) {
if (this.props.color !== nextProps.color) {
return true;
}
if (this.state.count !== nextState.count) {
return true;
}
return false;
}