【发布时间】:2018-11-13 08:44:31
【问题描述】:
在 React 中,我都尝试了:
- 改变状态然后this.setState(this.state)
- 克隆状态,更改状态克隆,然后this.setState(stateClone)
它们都起作用并且都产生相同的结果。为什么建议(在文档中)设置为状态克隆(使用 Object.assign)而不是设置为状态本身?状态的对象身份在 React(没有 Redux)中是否重要?似乎只要调用 setState,无论状态对象身份如何,都会触发 render()。
【问题讨论】:
-
我认为如果你声明了一个 shouldComponentUpdate 方法,你不能在里面使用 === 相等检查,因为对象引用不会改变。因此,您的方法也会对性能产生潜在影响
-
是的,我注意到了,所以我实际上发布了一个答案。
标签: reactjs