在Redux中,如果我使用如下数据结构:

{
    products: [
                {id:1, name:'tv', description:'A color Sony TV', cost:1000},
                {id:2, name:'remote control', description:'A black compact Remote Control', cost: 999}
    ],
    shoppingCart: [],
    checkoutCart: []
}


我使用Redux combineReducers

combineReducers({products, shoppingCart, checkoutCart})


如果我想将shopping Cart数据复制到单击事件中的checkoutCart中,则该在哪里/应该这样做?

最佳答案

当您使用combineReducers时,您假设减速器是独立的,并且它们无法看到彼此的状态。每个reducer只会收到状态的“切片”。

为了实现您想要的功能,我会考虑将shoppingCartcheckoutCart reducers /状态合并为一个,并使用switch (action.type)知道该怎么做。

现在,您可以简单地在新的reducer上创建一个操作,该操作返回类似


{checkoutCart:clone(state.shoppingCart)}

关于reactjs - React Redux联合 reducer ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41225695/

10-09 13:18