Reactjs 如何在react中添加键

Reactjs 如何在react中添加键,reactjs,Reactjs,我想做点什么 class Example exports React.Component{ state = { items = {}, id = 0, template = {"id":0, "itemName":""} } addItem = (name) => { let item = {...this.state.template,"id":this.state.id,"itemName":name };

我想做点什么

class Example exports React.Component{
   state = {
       items = {},
       id = 0,
       template = {"id":0, "itemName":""}
   }
   addItem = (name) => {
       let item = {...this.state.template,"id":this.state.id,"itemName":name };
       this.setState({items["item0"]:{item}});
   }
   render()/*code*/
}

但是我无法使用setState:c向字典中添加关键字。请使用spread运算符包括现有项,然后在其关键字下添加新项:

setState({
项目:{
…项目,
“项目0”:项目
}
}
如果需要计算密钥,可以使用括号语法:

const itemId='bananas';
设定状态({
项目:{
…项目,
[项目ID]:项目//与“香蕉”等价:项目
}
}
或者使用数组:

setState({
项目:[
…项目,
项目
]
}

这是否回答了您的问题?是否有一种方法可以根据id更改键?例如`类示例导出React.Component{state={items={},id=0,template={“id”:0,“itemName”:“}}}addItem=(name)=>{let item={…this.state.template,“id”:this.state.id,“itemName”:name};this.setState({items[
item${this.state.id}
]:{item}});}render()/*code*/}`yes。使用like
{[someIdVar]:someValue}
更新了计算属性名示例的答案。