使用setState将新元素添加到数组

时间:2018-02-14 14:28:40

标签: javascript reactjs

如何使用setState

将新元素添加到数组中

我有这个数据

this.state = {
    items : [
   { "id" : "324", "parent" : "qqqq", "text" : "Simple root node" },
   { "id" : "24", "parent" : "dwdw", "text" : "Root node" },
   { "id" : "55", "parent" : "ajson2", "text" : "Ch" },
   { "id" : "9866", "parent" : "ajson2", "text" : "oiiojio" },
]
    }

我正在映射数据

{this.state.items.sort((a,b) => a.newID < b.newID).map((item)=>
   <ul>
     <li key={item.id}><span>ID: </span>{item.id} <span>parent: </span>{item.parent} <span>text: </span>{item.text}</li>
   </ul>
   )}

然后我按newID对数据进行排序我需要使用setState创建数据

this.setState(prevState=>({newData: [...prevState.items, this.props.account.info]}));

如何使用this.props.account.info创建新元素添加i++之类的内容我实际上并不知道

this.props.account.info它正在添加

等数据
{ "id" : "324", "parent" : "qqqq", "text" : "Simple root node" }

所以我需要在里面添加一个元素就像

{ "newID": "1", "id" : "324", "parent" : "qqqq", "text" : "Simple root node" }

1 个答案:

答案 0 :(得分:1)

所以如果你想添加&#34; newID&#34;在对象中的字段中,有一种方法可以使用对象扩展运算符来完成此操作。

{...this.props.account.info, "newID":"1"}

这将为您提供一个带有&#34; newID&#34;的新对象。字段添加&#34; 1&#34;与其相关的价值。

这是一个简写:

Object.assign({}, this.props.account.info, {"newID": "1"});