【发布时间】:2016-10-07 23:13:03
【问题描述】:
如何将shouldComponentUpdate 用于状态?
我可以检查:
shouldComponentUpdate(nextProps, nextState) {
return this.state.value != nextState.value;
}
但它对状态没有任何意义。因为如果我改变状态(this.setState({value: 'newValue'}))this.state 将等于nextState。
例如onClick事件:
handleClick() {
this.setState({value: 'newValue'});
}
【问题讨论】:
-
组件应该在状态改变时简单地重新渲染,我认为
shouldComponentUpdate主要用于道具,而不是状态。从specs 可以看出,您可以决定新状态是否需要更新组件,例如,您可能有不需要更新当前状态的逻辑,但您无法将其与之前的状态进行比较可以带道具 -
@Icepickle,就我而言,我想比较状态,因为我的组件没有得到
props,而是父组件重新渲染它。 -
比较状态并决定你想在你实际改变它的地方更新它
标签: reactjs