我想在react中删除对象的对象,我打算做的是获取当前状态并将其分配给变量,更改该变量,使用setState将更改后的变量分配给状态。像这样
constructor() {
super()
this.state = {
obj: {
"0": {
something: 123
},
"1": {
another_thing: 'abc'
}
}
}
}
deleteOneObj(index) {
let newObjState = this.state.obj[index]
delete newObjState
}
render() {
return(<h1>hello<br />
<button onClick={()=>this.deleteOneObj(1)}>
delete one obj
</button>
</h1>)
}
但是删除newObjState似乎不起作用。
最佳答案
我更喜欢使用Object.assign,它更具可读性,并且还创建了对象的新引用:
deleteOneObj(index) {
let newObjState = Object.assign({}, this.state.obj)
delete newObjState[index]
this.setState({obj: newObjState})
}
关于javascript - 根据 react 中的键删除嵌套对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48302118/