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