我刚开始接触React和JS,并试图学习如何以及何时进行复制。道具是不可变的,但是由于某些原因,从道具分配数组时我没有任何问题。另外,我知道复制数组很浅,但是当我将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
的值不会更改b
和c
的值。如果要更新b
和c
的状态,则需要分别进行更新。