Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/374.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何更新处于react状态的字符串数组的第0个索引,使所有其他索引值不受影响_Javascript_Reactjs - Fatal编程技术网

Javascript 如何更新处于react状态的字符串数组的第0个索引,使所有其他索引值不受影响

Javascript 如何更新处于react状态的字符串数组的第0个索引,使所有其他索引值不受影响,javascript,reactjs,Javascript,Reactjs,我只想修改react状态中存在的字符串数组的第0个索引数据,保持所有其他值(可能存在也可能不存在)相同。有人能帮忙吗 例如: state: { key1: value1, key2: ["ar1", "ar2"], }, 现在,我想用“ar3”字符串替换“ar1”,并使用一些新值保持“ar2”不变,因此,新的react状态将是 state: { key1: value1, key2: ["ar3", "ar2

我只想修改react状态中存在的字符串数组的第0个索引数据,保持所有其他值(可能存在也可能不存在)相同。有人能帮忙吗

例如:

state: {
  key1: value1,
  key2: ["ar1", "ar2"],
},
现在,我想用“ar3”字符串替换“ar1”,并使用一些新值保持“ar2”不变,因此,新的react状态将是

state: {
  key1: value1,
  key2: ["ar3", "ar2"],
},
请注意,字符串数组最初可以为空或未定义(即key2:null),但我一直希望添加第0个索引
如何才能有效地做到这一点?

这可能就是您所寻找的

//使用扩展语法克隆数组以实现不变性
const updatedArray=[…state.key2]
//更新第一个索引
UpdateArray[0]=newValue;
//将状态设置为新数组
this.setState({key2:updateArray})