我不确定这是否正在修改我的redux状态:
var tempArray = this.props.currentView.someArray;
tempArray.push(this.state.inputField);
第一行是复制内容,还是创建了对props对象的实际引用?
答案 0 :(得分:4)
var tempArray = this.props.currentView.someArray;
将使tempArray引用该数组。
tempArray.push()
修改了引用。
是的,它会修改this.props.currentView.someArray
。
如果您不想修改您的状态,可以这样做。
var tempArray = this.props.currentView.someArray.slice();
Slice不会修改原始数组,并且不带参数调用它会返回原始数组的副本。
在此之后修改tempArray
对this.props.currentView.someArray