【发布时间】:2021-05-05 19:53:16
【问题描述】:
我正在尝试构建一个购物车,以便在调用调度时将项目添加到 useReducer 状态,然后通过提供程序相应地在应用程序的其他地方呈现。
我的问题是虽然我可以将项目添加到状态的数组中,但我不希望它在有人购买两个(或更多)相同的项目时将全新的第二个项目添加到数组中。
相反,它应该增加现有状态项的数量属性。
我制作了一个 Codesandbox 来说明这一点。当单击“添加”时,显然是在向数组中添加了“测试项”的副本,但在第一个实例之后,它应该增加现有项的“数量”属性,因此数组中的项数保持在 1。
我尝试了 .find、.filter、.map 的组合,但似乎无法到达那里,而且对所有这些都是新手,这变得非常令人沮丧。
https://codesandbox.io/s/festive-ramanujan-pjyw7?file=/src/App.js
任何帮助表示赞赏.. 谢谢!
【问题讨论】: