如何使用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" }
答案 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"});