【发布时间】:2021-07-04 14:33:31
【问题描述】:
我创建了一个状态,该状态的属性之一是具有任意数量值的数组。使用 setState 功能,我可以完整地操作数组属性,但我想做的是深入研究该属性并更改数组的第 N 个索引。我正在为此苦苦挣扎,似乎我需要用我想要更改的任何内容重建整个数组,然后将新数组与旧数组交换。
【问题讨论】:
标签: javascript arrays reactjs state
我创建了一个状态,该状态的属性之一是具有任意数量值的数组。使用 setState 功能,我可以完整地操作数组属性,但我想做的是深入研究该属性并更改数组的第 N 个索引。我正在为此苦苦挣扎,似乎我需要用我想要更改的任何内容重建整个数组,然后将新数组与旧数组交换。
【问题讨论】:
标签: javascript arrays reactjs state
我正在为此苦苦挣扎,似乎我需要用我想要更改的任何内容重建整个数组,然后将新数组与旧数组交换。
是的。
为设置状态函数提供一个新值,不要改变状态变量。
setMyState(
oldState.map((currentValue, index) => {
if (index === Nth) {
return newValue;
} else {
return currentValue;
}
})
)
【讨论】:
你也可以试试
let newArray = [...this.state.array].map((a, index) => {
if (index === NthIndex) {
return newValue
}
return a
})
this.setState({ array: newArray })
【讨论】: