我有一个包含id和价格的对象数组。当onClick事件发生时,它会更新特定对象的价格。然而,当onClick事件再次发生时,它会显示相关物品的价格已更新。然而,以前更新的物品价格现在重置回默认值。有人知道为什么会发生这种情况吗?该数组是从另一个数组Map而来的,并在页面加载时初始化,更新发生在一个函数内部,该函数在单击按钮时被调用。第一个
yuvru6vn1#
您需要将信息存储在state内部,或者存储在后端或其他存储中,否则在重新渲染后会丢失。因此,为了更好地理解,假设重新呈现的工作方式类似于页面重新加载,所有未处于状态的内容或某些内容都被重新初始化。因此,当您拥有prices数组并在其中更新一个项目时,您会看到结果,但当您尝试修改其他项目时,所有过程都从头开始,因此prices数组将从汽车项目(实际上没有以前更新过的更新价格)中获取新数据,并设置新价格。因此,要解决这个问题,您需要在状态中存储汽车项目,并通过操纵状态更新价格。
1条答案
按热度按时间yuvru6vn1#
您需要将信息存储在state内部,或者存储在后端或其他存储中,否则在重新渲染后会丢失。
因此,为了更好地理解,假设重新呈现的工作方式类似于页面重新加载,所有未处于状态的内容或某些内容都被重新初始化。
因此,当您拥有prices数组并在其中更新一个项目时,您会看到结果,但当您尝试修改其他项目时,所有过程都从头开始,因此prices数组将从汽车项目(实际上没有以前更新过的更新价格)中获取新数据,并设置新价格。
因此,要解决这个问题,您需要在状态中存储汽车项目,并通过操纵状态更新价格。