0

React Virtual DOM 在旧的内存 DOM 和新的内存 DOM 之间有何区别?具体来说,我只是设置了更改的状态与我设置了更改的状态和未更改的状态之间有什么区别吗?set Object 和 Number 之间有什么区别吗?

例如:当前状态是{name: 'Eric', id: '1234567890', others: {other1: 1, other2: 2}}。差异结果this.setState({name: 'Tiger'})与差异结果相同this.setState({name: 'Tiger', id: '1234567890', others: {other1: 1, other2: 2}})吗?

4

1 回答 1

0

默认情况下,React 会在所有调用setState数据是否已更改时触发重新渲染(请参阅setState 文档),因此我希望它在您描述的情况下是相同的。

shouldComponentUpdate如果您需要特定的行为,您可以使用覆盖它的行为方式。

这对于它使用的内部差异的实际内容意味着另一个故事——我希望它们是相同的,但依赖任何这种行为的细节感觉是个坏主意。

于 2016-09-27T01:43:28.803 回答