我有减速器功能
export const product = {}
export const cart = {
cart: 0
}
export const addToCartReducer = (state = product, action) => {
switch (action.type) {
case 'ADD_TO_CART':
let products = JSON.parse(localStorage.getItem('products'))
console.log(products, 'products');
const productById = products.find(item => { return action.id === item._id})
let cart = JSON.parse(localStorage.getItem('cartProduct')) || []
console.log(cart)
cart.push(productById)
localStorage.setItem('cartProduct', JSON.stringify(cart))
return {
...state,
product: {stock: productById.stock - 1, ...productById.stock},
cart: cart
}
default:
return state;
}
}
如果按下操作(添加到购物车)按钮,它将在本地存储中存储一系列对象。问题是当我购买同一产品两次或更多次时,会产生重复的对象
[
{
image: product1_image,
name: product1_name
},
{
image: product2_image,
name: product2_name
},
{
image: product2_image,
name: product2_name
}
]
如何预防?我期望的是通过向每个产品对象添加键(数量)来增加相同对象或产品的数量
//expected result
[
{
image: 'product1_image',
name: 'product1_name',
quantity: 1
},
{
image: 'product2_image',
name: 'product2_name',
quantity: 2
},
]