【发布时间】:2015-06-14 03:54:31
【问题描述】:
我正在尝试找到从处于组件状态的数组中删除元素的最佳方法。由于我不应该直接修改 this.state 变量,有没有比这里更好的方法(更简洁)从数组中删除元素?:
onRemovePerson: function(index) {
this.setState(prevState => { // pass callback in setState to avoid race condition
let newData = prevState.data.slice() //copy array from prevState
newData.splice(index, 1) // remove element
return {data: newData} // update state
})
},
谢谢。
更新
这已更新为使用 setState 中的回调。这应该在更新时引用当前状态时完成。
【问题讨论】:
-
看看 Facebook 的 ImmutableJS,它与 React 配合得很好。 link
-
我看不出你的代码有什么问题。事实上,这是一种非常惯用的方式。
标签: javascript reactjs