在 React 中,是否setState总是将新对象分配给this.state? 换句话说,当你打电话时:
this.setState({
key1: val1,
key2: val2
});
Run Code Online (Sandbox Code Playgroud)
它是否总是将具有新属性的当前状态对象合并到一个新对象中,排队一个在功能上等同于以下内容的操作?
this.state = {
...this.state,
key1: val1,
key2: val2
};
Run Code Online (Sandbox Code Playgroud)
我问的原因是,我想知道是否this.state !== nextState是始终保证是真正的内部shouldComponentUpdate()如果更新被触发setState。
谢谢。
有谁知道更改的原因,从传递基元时引发错误Object.keys到静默地将基元强制给对象并返回结果,是造成更改的原因?
我不确定有人会Object.keys('abc')返回[0, 1, 2],而且似乎违反了“不要破坏网络”的主要指令。如果某些网站的代码Object.keys在try / catch中包装了对的调用,以处理错误地传递原语的调用者?
这就是为什么我认为变革背后必须有强有力的理由。如果有人在此方面有一些信息,我将非常感兴趣。