我在React Component的状态中有一个数组。我想使用setState更新数组的特定(在我的情况下,最顶层)元素。我怎么能这样做?
答案 0 :(得分:0)
如果您需要解释,我会更新我的答案:)
class MyComponent extens React.Component {
state = {
myAwesomeArray: [1, 2, 3]
}
changeArray() {
var myAwesomeArray = [...this.state.myAwesomeArray]
myAwesomeArray[0] = -1
this.setState({ myAwesomeArray })
}
render() {
return (
<div>
{this.state.myAwesomeArray.map(el => <p key={p}>{el}</p>)}
<button onClick={this.changeArray}>Change my array!</button>
</div>
)
}
}
答案 1 :(得分:0)
你可以这样做
const rawRequestData = this.state.data;
rawRequestData[index].key = "Custom key";
this.setState({ data: rawRequestData });
并且如果您想使用第三方lib尝试使用此lib,我使用了一些此功能并获得了出色的结果。