let a = this.state.a;
//setted in the constructor: {number: 1}
console.log(a);
//Prints: {number: 1}
a.number = 2;
console.log(this.state.a);
//Prints: {number: 2}
如何阻止a
成为参考,我想更改a
的输出值,以更改state.a
答案 0 :(得分:2)
答案 1 :(得分:1)
您可以使用spread运算符创建一个新对象:
let a = { ...this.state.a };
或者,您可以使用Object.assign
:
let a = Object.assign({}, this.state.a);
答案 2 :(得分:1)
使用Object.assign
等let a = Object.assign({}, this.state.a, {number:2});
或Object Spread
,例如let a = {...this.state.a};