簡體   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