Redux-persist 不坚持数量,但仍然坚持购物车总数?

珍娜

我试图保持购物车的状态(物品、每个所述物品的数量、小计和总计)。我正在redux-persist为此使用

我的问题是,当我更改购物车中的商品数量(例如,从 1 件更改为 5 件数量),然后刷新页面时,数量将回落至 1。小计和总计仍反映价格 x 5所述项目。刷新后数量无法更改,如果我继续尝试增加数量,购物车小计和总计仍会增加。

Chrome DevTools 中的数量也没有变化(在应用程序、存储 > 本地存储选项卡下),所以我认为这不是显示问题。

在我的文件中尝试过whitelisting/blacklisting某些状态configureStore.js我不认为这是redux-persist的问题——我相信这是我如何实施它或我的商店如何设置的问题。

如何为我的购物车保留商品、每件商品的数量和小计/总计?更重要的是,我担心商品数量和购物车小计和总计保持同步。

我已将我的代码上传到codeandbox,因此您可以查看所有内容以及它们如何交互。

詹金斯

问题不redux-persist在于 ,而是您的ADD_QUANTITY减速器中存在错误

它目前看起来像这样:

if (action.type === ADD_QUANTITY) {
        let addedItem = state.items.find(item => item.id === action.id);
        addedItem.quantity += 1;
        let newSubTotal = state.subTotal + addedItem.price;
        return {
            ...state,
            subTotal: newSubTotal,
            cartTotal: newSubTotal + shippingCost
        }

    }

因此,此操作从所有可用项目的列表中查找项目,然后增加其数量(通过改变原始对象,这不是最佳实践,但不是这里的问题)并计算新的小计。然后它对更新的项目不做任何事情。

由于您已经将您的项目添加到addedItems您所在州数组中,您需要在那里找到它并更新版本的副本,然后将此更新后的列表作为新addedItems数组返回:

if (action.type === ADD_QUANTITY) {
    const addedItem = state.addedItems.find(item => item.id === action.id);
    let newSubTotal = state.subTotal + addedItem.price;
    const updatedItems = state.addedItems.map(item =>
      item.id === action.id ? { ...item, quantity: item.quantity + 1 } : item
    );
    return {
      ...state,
      addedItems: updatedItems,
      subTotal: newSubTotal,
      cartTotal: newSubTotal + shippingCost
    };
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Redux-persist在重载时不持久于expo

来自分类Dev

为什么 redux-persist 不持久化我的数据?

来自分类Dev

为什么购物车React-Redux不更新?

来自分类Dev

如何延迟 Redux Persist Gate 的 SplashScreen?

来自分类Dev

React react-redux redux-persist性能问题

来自分类Dev

用于添加到购物车的 redux concat 数组

来自分类Dev

redux-persist是否在App更新之间持久/保存数据?

来自分类Dev

Redux Persist错误序列化PeerJS对象

来自分类Dev

Redux-persist 如何持久化一些状态

来自分类Dev

如何使用redux-persist保持React-native redux状态?

来自分类Dev

如何使用 redux-persist 仅存储一部分 redux 状态

来自分类Dev

无法使用react native在redux的reducer中的购物车中添加现有产品

来自分类Dev

Redux + React Native将产品添加到购物车不起作用

来自分类Dev

将现有项目添加到购物车(React-Redux)

来自分类Dev

React Native,无法通过使用react -redux在购物车中添加项目

来自分类Dev

无法使用react native在redux的reducer中的购物车中添加现有产品

来自分类Dev

store.dispatch不是函数-对本机redux-persist和redux-thunk middlware进行反应

来自分类Dev

使用redux-persist在商店重新水化之前加载初始状态的默认值

来自分类Dev

如何在React Native中不将搜索结果保存在redux-persist中?

来自分类Dev

Redux-Persist和Connected-React-Router:TypeError:无法读取未定义的属性“位置”

来自分类Dev

Redux-Persist 库 - 将计数器中的数据保存到 localStorage

来自分类Dev

购物车数量问题

来自分类Dev

如果我要在我的React Native应用程序中使用Firebase,是否需要使用redux-persist?

来自分类Dev

使用Redux-persist保留应用程序状态时,重置应用程序启动时的reducer状态

来自分类Dev

如何在React&Redux中使用JWT并没有redux-persist之类的包来保持用户登录的快速后端应用程序?

来自分类Dev

购物车 PLUS & MINUS 计算总数

来自分类常见问题

将购物车总数量限制为WooCommerce中的特定倍数

来自分类Dev

在WooCommerce产品页面上显示产品总数和数量变化的购物车小计

来自分类Dev

jQuery购物车数量更新按钮?

Related 相关文章

  1. 1

    Redux-persist在重载时不持久于expo

  2. 2

    为什么 redux-persist 不持久化我的数据?

  3. 3

    为什么购物车React-Redux不更新?

  4. 4

    如何延迟 Redux Persist Gate 的 SplashScreen?

  5. 5

    React react-redux redux-persist性能问题

  6. 6

    用于添加到购物车的 redux concat 数组

  7. 7

    redux-persist是否在App更新之间持久/保存数据?

  8. 8

    Redux Persist错误序列化PeerJS对象

  9. 9

    Redux-persist 如何持久化一些状态

  10. 10

    如何使用redux-persist保持React-native redux状态?

  11. 11

    如何使用 redux-persist 仅存储一部分 redux 状态

  12. 12

    无法使用react native在redux的reducer中的购物车中添加现有产品

  13. 13

    Redux + React Native将产品添加到购物车不起作用

  14. 14

    将现有项目添加到购物车(React-Redux)

  15. 15

    React Native,无法通过使用react -redux在购物车中添加项目

  16. 16

    无法使用react native在redux的reducer中的购物车中添加现有产品

  17. 17

    store.dispatch不是函数-对本机redux-persist和redux-thunk middlware进行反应

  18. 18

    使用redux-persist在商店重新水化之前加载初始状态的默认值

  19. 19

    如何在React Native中不将搜索结果保存在redux-persist中?

  20. 20

    Redux-Persist和Connected-React-Router:TypeError:无法读取未定义的属性“位置”

  21. 21

    Redux-Persist 库 - 将计数器中的数据保存到 localStorage

  22. 22

    购物车数量问题

  23. 23

    如果我要在我的React Native应用程序中使用Firebase,是否需要使用redux-persist?

  24. 24

    使用Redux-persist保留应用程序状态时,重置应用程序启动时的reducer状态

  25. 25

    如何在React&Redux中使用JWT并没有redux-persist之类的包来保持用户登录的快速后端应用程序?

  26. 26

    购物车 PLUS & MINUS 计算总数

  27. 27

    将购物车总数量限制为WooCommerce中的特定倍数

  28. 28

    在WooCommerce产品页面上显示产品总数和数量变化的购物车小计

  29. 29

    jQuery购物车数量更新按钮?

热门标签

归档