传播算子克隆的两个数组之间的行为

时间:2019-06-08 09:04:29

标签: javascript reactjs

我们知道两个:当我们使用传播运算符克隆数组时,它会从原始数组中复制一个副本(按值复制),我的问题是当我复制复制的数组时,原始数组会受到影响 那么,为什么尽管散布运算符克隆的数组复制了值而不是引用,但是为什么它仍然生效呢?

state = {
    counters: [
      { id: 0, value: 3 },
      { id: 1, value: 5 },
      { id: 2, value: 0 },
      { id: 3, value: 6 }
    ]
  };

 handleIncrement = ()=>{
     const counters = [...this.state.counters];
     counters[0].value++;
     console.log(counters ===(this.state.counters) //false
     console.log('state counters: '  + this.state.counters[0].value) //4
     console.log('fn counters: '  + counters[0].value) //4
  }

0 个答案:

没有答案