我目前使用的是redux toolkit
,问题是即使添加到电子商务Web应用程序购物车中的商品的价值正在更新到redux商店,当我尝试使用useSelector
时,它在第一次单击时找不到添加到购物车中的商品的价值,但当我添加第二个商品时,我能够从redux商店中获取这两个商品:
在解决这个问题方面,我还缺少什么吗?下面是我当前的实现。
cart.ts
export const cart = createSlice({
name: 'cart',
initialState,
reducers: {
updateByPayload: (state, action: PayloadAction<Cart>) => {
state = merge(state, action.payload);
},
merge
来自lodash
(https://lodash.com/docs/4.17.15#merge)
1条答案
按热度按时间toiithl61#
在一个Immer驱动的reducer中编写
state = anything
总是一个bug,并且不会工作。你必须要么 mutate 现有的state
对象,要么 return 一个新的值。在我们的文档中查看关于此主题的更长答案:
https://redux-toolkit.js.org/usage/immer-reducers