不可更新地更新对象状态

时间:2016-10-19 15:57:29

标签: javascript reactjs immutability

我有以下状态对象

campaigns : [
  {
    id : 1,
    active: false,
    ....other key value pairs
  },
  {
    id : 2,
    active: false
    ....other key value pairs
  },
  {
    id : 3,
    active: false
    ....other key value pairs
   }
]

我的api给了我对广告系列ID的回复(比如说2)如何在广告系列数组中将活动标记更改为true而不改变它或使用库。 Es6或只是简单的JS。任何帮助都会很好。

我正在使用反应并对路由器做出反应..还没有还原。

1 个答案:

答案 0 :(得分:0)

您可以使用Object.assign来克隆对象。它将自己引用,并且对其进行的任何更改都不会影响原始对象。 var copy = Object.assign({}, obj)

Object.assign只是一个浅拷贝,这意味着如果你有一个嵌套对象,它仍将与原始对象共享对这些值的相同引用。看看你的对象结构应该不是问题。