【发布时间】:2019-08-11 04:49:57
【问题描述】:
我正在尝试setState,但我不知道如何解构具有动态属性名称的对象的其余部分。在此示例中,id 是我表单中每个输入的动态值。
计算完状态后是这样的:
{
"inputConfig": {
"5d4d684cadf8750f7077c739": {
"0": "5d4d684cadf8750f7077c739",
"isEmpty": true
},
"5d4d684cadf8750f7077c73c": {
"time": "2019-08-10T12:33:42.439Z",
"units": "f",
"defaultValue": 6,
"name": "Temp",
"isEmpty": true
}
}
}
动态 id 持有一个带有输入配置的对象:
"5d4d684cadf8750f7077c73c": {
"time": "2019-08-10T12:33:42.439Z",
"units": "f",
"defaultValue": 6,
"name": "Temp",
"isEmpty": true
}
这是我迄今为止尝试过的代码:
this.setState(prevState => ({
...prevState,
inputConfig: {
...inputConfig,
[id]: {
...[id], // gives me {0: "5d4d684cadf8750f7077c739"} instead of the object it holds
}
}}),() =>{
console.log(this.state.inputConfig)
})
我想解构这个id 持有的对象。有没有办法做到这一点?
感谢您对此提出任何建议。
【问题讨论】:
-
你在传播
id而不是对象 -
这就是我的想法,但我怎样才能传播 id 持有的对象?由于它是动态属性我不能只写 ...id
-
您能否发布更多相关数据,即您的状态如何,以及
id持有的对象 -
添加了我的状态和id的例子
-
因为我只想修改具有特定 ID 的输入的配置。比如想把 isEmpty 改成 true
标签: javascript reactjs setstate object-destructuring