我一直在读React文档,发现了shouldComponentUpdate()
个.我的理解是,每次调用setState()
时,该组件的重新渲染都会更新.
我的问题是,如果要更新的值是SAME作为当前状态值,这会触发重新渲染事件吗?或者,我必须手动判断当前值和shouldComponentUpdate()
中要更新的值
我一直在读React文档,发现了shouldComponentUpdate()
个.我的理解是,每次调用setState()
时,该组件的重新渲染都会更新.
我的问题是,如果要更新的值是SAME作为当前状态值,这会触发重新渲染事件吗?或者,我必须手动判断当前值和shouldComponentUpdate()
中要更新的值
官方文件指出:
默认行为是在每次状态更改时重新渲染...
https://reactjs.org/docs/react-component.html#shouldcomponentupdate
这意味着默认情况下,如果组件的state
或props
值中的任何一个发生变化,将执行render()
.
可以使用shouldComponentUpdate()来覆盖此默认行为.下面是一个仅在状态值更改时更新的示例.
shouldComponentUpdate(nextProps, nextState) {
return this.state.someValue !== nextState.someValue;
}
注意:这个例子完全忽略了props
.因此,对props
的任何更改都不会触发render()
.