首页 > 解决方案 > 如何使用 setState 更改嵌套对象之一

问题描述

我有一些处于状态的对象,我想将键/值添加到我的一个对象中,例如为 id 为 13 的对象添加键/值。

见所附照片。

我可以使用 setState,但我不知道如何选择 id 为 '13' 的对象并使用 setState 更新它。

如何将 filter 或 map 与 setState 结合使用?我的 setState 代码如下,但我不知道如何更改 id 为 13 的状态

this.setState(prevState => ({
  carpets: [...prevState.carpets, this.state.carpet],
}));

单击此处查看我的对象图片

标签: javascriptreactjsreact-native

解决方案


this.setState(prevState => ({
  carpets: prevState.carpets.map(carpet => (
    carpet.id === 13
      ? { ...carpet, key: value }
      : carpet
  ))
}));

推荐阅读