我是一个应用程序,用户可以在其中将 productItem 添加到 Basket。目前,如果用户从篮子中删除一个项目,我正在使用 .filter 从我的 basketItems 数组中删除 basketItem 对象。然后我用过滤后的项目将状态设置为这个数组。
removeItem(msg, data) {
let newStateItems = this.state.items.filter((i) => i.id != data.id);
this.setState({
items: newStateItems
});
this.calculateTotals();
}
然而问题是,一旦我删除了一个项目,然后去添加另一个项目,创建的新项目将显示为旧项目,直到页面刷新 - 可以在此处找到此应用程序的示例,并且完整的存储库已打开github。
添加项目调用如下所示:
addItem(msg, data) {
this.state.items.push(data);
this.setState({
items: this.props.items
})
this.calculateTotals();
}
如何确保购物篮中显示正确的商品?