在 React 组件的状态中修改数组

Modifying an array inside the state of a React Component

我在 React 组件的状态中有一个数组。我想使用 setState 更新数组的特定(在我的例子中是最上面的)元素。我该怎么做?

如果您需要解释,我会更新我的答案:)

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>
        )
    }
}

你可以这样做

 const rawRequestData = this.state.data;
    rawRequestData[index].key = "Custom key";
    this.setState({ data: rawRequestData });

如果您想使用第三方库,请尝试使用此库,我使用了其中的一些功能并获得了出色的结果。

https://github.com/kolodny/immutability-helper