2017-04-14 64 views
2

我不知道这是否修改我终极版状态:我在这里修改我的Redux状态吗?

var tempArray = this.props.currentView.someArray; 
    tempArray.push(this.state.inputField); 

第一行是复制的内容,或者这是创建一个实际的参考对象的道具?

回答

4
var tempArray = this.props.currentView.someArray; 

会使tempArray引用数组。

tempArray.push()修改参考。因此,它会修改this.props.currentView.someArray

如果你不想修改你的状态,你可以做。

var tempArray = this.props.currentView.someArray.slice(); 

切片不会修改原始数组并调用它没有参数返回原始数组的副本。

修改后,这tempArray会对this.props.currentView.someArray

+0

惊人的没有效果,谢谢! –