更新State数组中的一个值react native

Red*_*Red 2 arrays state native reactjs react-native

尝试在this.state中更新数组的一个元素时,我遇到了(expected,)错误,但是看不到哪里出错了。我是否需要创建一个临时的数组更新,然后将整个数组分配回状态

这基本上就是我所拥有的

this.state = { array: ['a', 'b', 'c'] };

onBack() {
  this.setState({
      array[2]: 'something' 
  });
}
Run Code Online (Sandbox Code Playgroud)

ill*_*ter 5

您不能像这样更新状态。

切勿直接更改this.state,因为之后调用setState()可能会替换您所做的更改。将this.state视为不可变的。

阅读React文档

您可以执行以下操作:

let newArray = [...this.state.array];
newArray[2] = 'somethingElse';
this.setState({array: newArray});
Run Code Online (Sandbox Code Playgroud)

上面的示例使用了Spread Syntax

有多种修改状态的方法,但是所有方法都应确保将数据视为不可变的。您可以在此处阅读有关处理状态的更多信息