Reactjs 在“反应”状态下编辑自定义对象

Reactjs 在“反应”状态下编辑自定义对象,reactjs,state,Reactjs,State,我的应用程序状态中有一个Map()对象,名为myMap。 我需要编辑这张地图的一个键。因此,我创建了一个名为newMyMap Equals的映射,它与现有的myMap对象相等,但键值不同 调用setState时,设置myMap=newMyMap Ract insert new Map(myNewMap)intead delete old Map。如何管理这种情况?我想你只是不明白反应状态是如何工作的。。它只是一个有关键点的对象,如果你设置了其他关键点,当然其他关键点仍然存在 因此,如果您想更改“

我的应用程序状态中有一个Map()对象,名为myMap。 我需要编辑这张地图的一个键。因此,我创建了一个名为newMyMap Equals的映射,它与现有的myMap对象相等,但键值不同


调用setState时,设置myMap=newMyMap Ract insert new Map(myNewMap)intead delete old Map。如何管理这种情况?

我想你只是不明白反应状态是如何工作的。。它只是一个有关键点的对象,如果你设置了其他关键点,当然其他关键点仍然存在

因此,如果您想更改“myMap”,只需为其指定新值。。比如:

const newMyMap = Map({some: 'data'});

this.setState({
  myMap: newMyMap,
});
您不应该修改现有的对象。如果只需要修改某些对象数据,请从旧对象创建新对象,如:

this.setState({
  myMap: Object.assign({}, myOldObject, {someProp: 'new value'}),
});

我发现了问题。有两个内部值相同的贴图对象(或其他类型)与有2个相等对象不同。可能我没有记住这一点。

请编辑您的问题并添加有问题的代码,好吗?可以显示一些代码吗?可能您没有覆盖现有的密钥