Javascript 使用redux响应本地购物车
你好,我刚开始用react native进行redux,我正在尝试制作一个食品配送应用程序。每种食物都有饮料或甜点等选择。我希望,如果用户添加一个篮子和一个项目,我们会检查所选选项是否相同,以增加数量,如果它们不相同,我希望向全局状态添加另一个具有新选项的项目。只有我尝试了很多事情,但似乎没有一件能达到我的期望。我传递给全局状态的数据结构如下所示Javascript 使用redux响应本地购物车,javascript,reactjs,react-native,redux,react-redux,Javascript,Reactjs,React Native,Redux,React Redux,你好,我刚开始用react native进行redux,我正在尝试制作一个食品配送应用程序。每种食物都有饮料或甜点等选择。我希望,如果用户添加一个篮子和一个项目,我们会检查所选选项是否相同,以增加数量,如果它们不相同,我希望向全局状态添加另一个具有新选项的项目。只有我尝试了很多事情,但似乎没有一件能达到我的期望。我传递给全局状态的数据结构如下所示 cartProduct=[ { id:itemId, restaurantName:restaurantName, 名称:itemName, 数量:
cartProduct=[
{
id:itemId,
restaurantName:restaurantName,
名称:itemName,
数量:数量,,
价格:价格
选择选项:[
optionId:optionId,
itemId:itemId,
名称:itemName,
]
}
]
我会这样做
switch (action.type) {
case 'ADD_TO_CART':
const cartProductIndex = state.cartProduct.findIndex(item => item.id === action.value.id)
if (cartProductIndex == -1) {
return {
...state,
cartProduct: [...state.cartProduct, action.value]
}
}
const newCartProduct = state.cartProduct[cartProductIndex].selectedOption.map(item => {
if (item.item === action.value.selectedOption.item) {
item.quantity++
}
return item
})
return {
...state,
cartProduct: newCartProduct
}
}
无法更新映射循环中的状态,映射将返回新数组。您希望使用map创建一个新数组,然后使用该值。函数完成后,您应该返回,不需要其他返回。关于第一篇文章,感谢您展示所有代码。我将向您展示我将在下面做什么。感谢您的帮助,我将尝试您的解决方案,希望它符合我的期望