props数组是否需要深拷贝?

时间:2018-08-30 20:23:54

标签: javascript reactjs

我刚开始接触React和JS,并试图学习如何以及何时进行复制。道具是不可变的,但是由于某些原因,从道具分配数组时我没有任何问题。另外,我知道复制数组很浅,但是当我将1数组分配给状态为1的两个变量时,不会更改其他数组。我想念什么?

1 个答案:

答案 0 :(得分:0)

but when I assign 1 array to two variables in the state 1 does not change the other

从同一数组创建两个javascript变量不会使它们绑定在一起。例如:

this.state = { a: 'foo',
               b: 'foo2',
               c: 'foo3'
             }
console.log('This is b: '+this.state.b); // => 'This is b: foo2'
console.log('This is c: '+this.state.c); // => 'This is c: foo3'

this.setState({ b: 'bar' })
console.log('This is new b: '+b); // => 'This is new b: bar'
console.log('c doesnt change: '+c); // => 'c doesnt change: foo3'

此外,更改a的值不会更改bc的值。如果要更新bc的状态,则需要分别进行更新。