繁体   English   中英

ReactJs 如何在不发生变异的情况下将对象添加到数组?

[英]ReactJs how can i add object to array without mutating?

İn react ,假设选中了一个复选框并收到消息信息。 我正在使用 setState 将此信息发送到数组,我可以使用此信息。 我想要的是当我点击第二个复选框时,我仍然可以得到这个信息,但是当我把它发送到数组时,第一个选择的数组从数组中删除,所以我只能看到我选择的最后一个。 我想添加所有我选择的。

-- 假设 checkbox1 和 checkbox 2 被点击并在其中获取数据。

我不想这样做 => allMessage = [{id:1 , name"xyz"}]
我想要这个 => allMessage =[{id:1, name:"xyz"} , {id:2, name:"zlk"}]

static calculateState(prevState, props) {
  return {
    selectedMessage: []
  }
}

handleCheckbox() {
  const { message } = this.props;

  const values = {
    id: message.rid,
    name: message.date
  }
  this.setState((prevState) => ({
    selectedMessage: [values, ...prevState.selectedMessage]
  }));

}

在此处输入图片说明

您可以使用扩展运算符:

let array1 = [{name: "oguzhan bay"}]
let array2 = [..array1, {name: "5alidshammout"}]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM