【发布时间】:2020-02-09 14:43:09
【问题描述】:
splice() 会改变原始数组,应避免使用。相反,一个不错的选择是使用filter(),它会创建一个新数组,因此不会改变状态。但我曾经使用 splice() 和扩展运算符从数组中删除项目。
removeItem = index => {
const items = [...this.state.items];
items.splice(index, 1);
this.setState({ items });
}
所以在这种情况下,当我记录 items 更改但 this.state.items 保持不变时。
问题是,为什么每个人都使用filter 而不是splice 和spread?有什么缺点吗?
【问题讨论】:
标签: javascript arrays reactjs immutability