javascript 如何在使用redux工具包时从存储中获取最新更新的值

mctunoxg  于 2023-02-15  发布在  Java
关注(0)|答案(1)|浏览(227)

我目前使用的是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)

toiithl6

toiithl61#

在一个Immer驱动的reducer中编写state = anything总是一个bug,并且不会工作。你必须要么 mutate 现有的state对象,要么 return 一个新的值。
在我们的文档中查看关于此主题的更长答案:
https://redux-toolkit.js.org/usage/immer-reducers

相关问题