我试图找到最好的方法来删除一个元素从一个组件的状态数组。既然我不应该直接修改 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 中使用回调。在更新当前状态时引用当前状态时应该这样做。