【发布时间】:2019-12-01 20:01:49
【问题描述】:
在学习纯组件时,我无法理解在复杂对象之间进行浅层比较的方式,例如状态对象。
在一个例子中,一个 setTimeout 方法被用来更新一个简单的值,例如状态对象中的计数器编号,但该值刚刚设置为现有值。据我了解, setState 创建了一个新对象并且不会改变原始状态。
所以在浅比较中不会有 2 个不同的状态对象指向 2 个不同的引用,即使它们包含具有相同值的简单属性,所以比较应该始终显示对象是不同的,但示例说因为值相同,组件不会重新渲染,所以浅比较不仅仅是查看对象引用吗?
【问题讨论】:
-
请给我们一些上下文,我们怎么能猜出你说的是哪个例子
-
具体例子没关系,我已经在setState的上下文中解释了问题是什么
标签: javascript reactjs components