Redux reducer 没有返回整个状态
Redux reducer is not returning the entire state
我是 redux 的新手,我的问题是当我发送 action 时,它会发送到 reducer 但状态没有更新。
This is my initial state
const initialState ={
cart :[ ],
Products:[
{
id:"1",
title:"Realme 3 pro",
image:{
img1:"https://www.monotain.com/wp-content/uploads/2019/12/realme-5-pro.jpg",
img2:"https://static.techspot.com/images/products/2019/smartphones/org/2019-05-20-product-7.jpg"
},
price:"10000",
details:"Take photography a notch higher with the Realme 3 Pro as it comes with a 25 MP AI Selfie Camera and 16 MP + 5 MP Rear Camera with Sony IMX519 Sensor. The Qualcomm Snapdragon 710 AIE, multi-core AI Engine and Adreno 616 GPU redefine your smartphone experience.",
seller:"Cloudtail India",
quantity:"0"
}
]
}
** 这是我的 reducer 正在处理这个动作 **
case UPDATE_QUANTITY:
return{
...state,
cart:state.cart.map((product,i) =>
{
if(i === (action.product.id-1))
{
return{product.quantity = action.qty.toString()}
}
return product
})
}
其他减速器工作正常并返回正确的状态但是当我发送这个动作时,我的状态没有更新。如果代码有任何改进。请说明
您需要从地图return:
case UPDATE_QUANTITY:
return {
...state,
cart: state.cart.map((product) => {
if (product.id === action.product.id) {
return {...product, quantity: action.qty.toString()}
}
return product;
})
}
我是 redux 的新手,我的问题是当我发送 action 时,它会发送到 reducer 但状态没有更新。
This is my initial state
const initialState ={
cart :[ ],
Products:[
{
id:"1",
title:"Realme 3 pro",
image:{
img1:"https://www.monotain.com/wp-content/uploads/2019/12/realme-5-pro.jpg",
img2:"https://static.techspot.com/images/products/2019/smartphones/org/2019-05-20-product-7.jpg"
},
price:"10000",
details:"Take photography a notch higher with the Realme 3 Pro as it comes with a 25 MP AI Selfie Camera and 16 MP + 5 MP Rear Camera with Sony IMX519 Sensor. The Qualcomm Snapdragon 710 AIE, multi-core AI Engine and Adreno 616 GPU redefine your smartphone experience.",
seller:"Cloudtail India",
quantity:"0"
}
]
}
** 这是我的 reducer 正在处理这个动作 **
case UPDATE_QUANTITY:
return{
...state,
cart:state.cart.map((product,i) =>
{
if(i === (action.product.id-1))
{
return{product.quantity = action.qty.toString()}
}
return product
})
}
其他减速器工作正常并返回正确的状态但是当我发送这个动作时,我的状态没有更新。如果代码有任何改进。请说明
您需要从地图return:
case UPDATE_QUANTITY:
return {
...state,
cart: state.cart.map((product) => {
if (product.id === action.product.id) {
return {...product, quantity: action.qty.toString()}
}
return product;
})
}