假设在一个函数中,我总是需要设置someState
,并且只需要设置someOtherState
是否condition
为真。
最好这样做:
this.setState({ someState });
if (condition) {
this.setState({ someOtherState });
}
或这个?
if (condition) {
this.setState({ someState, someOtherState });
} else {
this.setState({ someState });
}
我知道 React 已经过优化,因此快速连续调用setState
通常不会导致重新渲染。但是这种行为是否得到保证,或者代码是否应该做出这样的假设?
例如。假设它通过在固定时间间隔上重新渲染来工作,如果第一个setState
在该间隔块结束之前被调用,那么第二个setState
将导致重新渲染?