splice() 会改变原始数组,应该避免。相反,一个不错的选择是使用filter()创建一个新数组,因此不会改变状态。但是我曾经使用带有扩展运算符的 splice() 从数组中删除项目。
removeItem = index => {
const items = [...this.state.items];
items.splice(index, 1);
this.setState({ items });
}
所以在这种情况下,当我记录items更改但this.state.items保持不变时。问题是,为什么每个人都使用filter而不是splicewith spread?它有什么缺点吗?
www说
沧海一幻觉
相关分类