我在这里修改我的Redux状态吗?

时间:2017-04-14 19:34:54

标签: javascript reactjs redux flux reactjs-flux

我不确定这是否正在修改我的redux状态:

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

第一行是复制内容,还是创建了对props对象的实际引用?

1 个答案:

答案 0 :(得分:4)

var tempArray = this.props.currentView.someArray;

将使tempArray引用该数组。

tempArray.push()修改了引用。

是的,它会修改this.props.currentView.someArray

如果您不想修改您的状态,可以这样做。

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

Slice不会修改原始数组,并且不带参数调用它会返回原始数组的副本。

在此之后修改tempArraythis.props.currentView.someArray

无效