正在更新作为React状态一部分的数组



我创建了一个状态,该状态的属性之一是具有任意数量值的数组。使用setState功能,我可以完整地操作数组属性,但我想做的是深入研究该属性并更改数组的第N个索引。我正在努力解决这个问题,似乎我只需要用我想改变的东西重建整个阵列,然后用旧阵列交换新阵列。

您也可以尝试

let newArray = [...this.state.array].map((a, index) => {
if (index === NthIndex) {
return newValue
}
return a
})
this.setState({ array: newArray })

我很难做到这一点,似乎我只需要用我想更改的东西重建整个数组,然后用旧数组交换新数组。

是。

为set状态函数提供一个新值,不要更改状态变量。

setMyState(
oldState.map((currentValue, index) => {
if (index === Nth) {
return newValue;
} else {
return currentValue;
}
})
)

最新更新