我正在尝试找到在组件状态下从数组中删除元素的最佳方法。因为我不应该修改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
})
},
谢谢。
updated
这已更新为使用 setState 中的回调。在更新当前状态时应该执行此操作。
我见过的最干净的方法是filter
:
removeItem(index) {
this.setState({
data: this.state.data.filter((_, i) => i !== index)
});
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)