如何使用React js更新特定索引处的数组

Cod*_*ess 4 reactjs

我的构造函数中有一个状态数组:

constructor(props) {
   super(props);
   this.state = {myarray: []};
}
Run Code Online (Sandbox Code Playgroud)

现在我想在特定的下标更新数组.

this.setState({myarray[i]: 'test'});
Run Code Online (Sandbox Code Playgroud)

给我一个unexpected token错误,指着开口括号[

这样做的正确方法是什么?

PS数组使用push方法动态填充,然后我尝试更新

Fel*_*ing 7

创建数组的副本:

const newArray = Array.from(this.state.myarray);
Run Code Online (Sandbox Code Playgroud)

更新索引:

newArray[i] = 'test';
Run Code Online (Sandbox Code Playgroud)

并更新状态

this.setState({myarray: newArray});
Run Code Online (Sandbox Code Playgroud)

您还可以使用不可变助手(以前是React的插件的一部分)来更简洁地完成此操作.