【发布时间】:2018-04-19 17:27:15
【问题描述】:
这是减速器状态。我需要添加、更新、删除 cartData 中的对象。第一次,cartData 为空。
const initialState = {
fetchData: {},
cartData: {}
}
示例:
fetchData: {
"React":{'name': 'React'},
"Node":{'name': 'Node'},
}
如果用户ADD_ITEM对书作出反应,则新商品正在此处添加到购物车中。
cartData:{
"React":{'name': 'React', 'quantity': 1},
}
如果用户Edit_ITEM对书作出反应,则现有项目正在此处更新。
cartData:{
"React":{'name': 'React', 'quantity': 4},
}
如果用户 REMOVE_ITEM 反应书,则在此处归零时删除。
cartData:{
}
我们如何修改这些操作的 redux 状态?
试过这个:使用lodash。但没有正确解决。
case types.ADD_ITEM:
return { ...state, cartData: // add new item }
case types.EDIT_ITEM:
return { ...state, [state.cartData.name]: action.payload }
case types.REMOVE_ITEM:
return _.omit(state, [state.cartData.name]: action.payload)
【问题讨论】:
-
您在寻找减速器和动作调度器吗?
-
寻找reducer来更新状态。
标签: javascript reactjs react-native redux lodash