小能豆

改变 React 状态的首选方法是什么?

javascript

假设我的 中有一个普通对象列表,this.state.list然后我可以使用它来呈现子对象列表。那么将对象插入 的正确方法是什么this.state.list

以下是我认为唯一可行的方法,因为您无法this.state像文档中提到的那样直接改变它。

this._list.push(newObject):
this.setState({list: this._list});

我觉得这很糟糕。 有没有更好的方法?


阅读 46

收藏
2024-06-12

共1个答案

小能豆

concat返回一个新数组,因此你可以这样做

this.setState({list: this.state.list.concat([newObject])});

另一个选择是 React 的不变性助手

  var newState = React.addons.update(this.state, {
      list : {
        $push : [newObject]
      }
  });

  this.setState(newState);
2024-06-12