React中Redux更新嵌套数组products的productCategory时其他值被清空问题
你代码的问题出在map函数的回调写法上:你用了花括号包裹回调逻辑,但没有添加return语句,导致每次遍历都返回undefined,最终products数组会被替换为全undefined的数组,表现就是其他值被清空。
修正方案
有两种可行的修正写法:
- 去掉回调的花括号,使用箭头函数隐式返回
case appConstants.CHANGE_PRODUCT_CATEGORY: return { ...state, products: state.products.map((product) => product?.productCode === action.payload?.productCode ? { ...product, productCategory: action.payload.productCategory } : product ) };
- 保留花括号,手动添加
return语句
case appConstants.CHANGE_PRODUCT_CATEGORY: return { ...state, products: state.products.map((product) => { return product?.productCode === action.payload?.productCode ? { ...product, productCategory: action.payload.productCategory } : product; }) };
内容的提问来源于stack exchange,提问作者Joseph
相关产品推荐
相关产品推荐

