ReactJS setState 多维数组变量键在子数组中
Posted
技术标签:
【中文标题】ReactJS setState 多维数组变量键在子数组中【英文标题】:ReactJS setState multidimensional array variable keys in sub array 【发布时间】:2019-07-23 10:34:23 【问题描述】:我有一个组件数组,每个组件都有组件详细信息,我正在尝试更新组件的详细信息。
我知道我能做到
this.setState(
component:
...this.state.component,
[var]: value
);
但我需要能够做到这一点
this.setState(
component[key]:
...this.state.component[key],
[key2]: value
);
失败了。如何在不修改状态和替换整个内容的情况下修改子数组?
【问题讨论】:
【参考方案1】:您还需要更新组件状态中的嵌套数据
this.setState(
component:
...this.state.component,
[key]:
...this.state.component[key],
[key2]: value
);
但是当你根据之前的状态更新状态时,最好使用回调方法来更新状态
this.setState(prevState: (
component:
...prevState.component,
[key]:
...prevState.component[key],
[key2]: value
));
【讨论】:
以上是关于ReactJS setState 多维数组变量键在子数组中的主要内容,如果未能解决你的问题,请参考以下文章
ReactJS - setState Axios POST 响应