javascript - 将带有 setState() 的对象添加到对象数组

标签 javascript reactjs setstate

我的组件的状态是一个对象数组:

this.state = {
  userFavorites: [{id: 1, title: 'A'}, {id: 2, title: 'B'}]
}

每次单击按钮时,我都需要用另一个对象更新我的状态,就像我在上面的状态中所拥有的那样;例如:{id: 3, title: 'C'}。

如果我简单地连接它们并设置状态,最后一个对象会不断被添加的对象更改。

这里需要展开运算符吗?

最佳答案

你应该这样做。下面是最推荐的在 React 中将值或对象推送到数组的方法

 this.setState( prevState => ({
     userFavorites: [...prevState.userFavourites,  {id: 3, title: 'C'}]
 }));

要推送到数组的开头,请这样做

   this.setState( prevState => ({
     userFavorites: [{id: 3, title: 'C'}, ...prevState.userFavourites]
  }));

关于javascript - 将带有 setState() 的对象添加到对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52954908/

相关文章:

reactjs - 在没有回调函数的输入类型中设置 State

javascript - 使用 Javascript 访问 ArrayList 的特定成员

javascript - 如果大部分功能的执行以输入为条件,那么哪一个是更好的实现方式?

javascript - AJAX 在 Debug模式下可以工作,但不能实时工作

javascript - 获取父 ID 到变量中

reactjs - 如何将 Autodesk Forge Viewer 扩展添加到 React?

node.js - 未处理的PromiseRejection警告: Error: error:0906D06C:PEM routines:PEM_read_bio:no start line

css - 通用渲染在 DOMContentLoaded 事件和 Load 事件之间产生延迟

javascript - 每当可选 Prop 发送到子组件时显示错误

javascript - 状态更新可能是异步的