【问题标题】:Invalid attempt to spread non-iterable instance, React [closed]传播不可迭代实例的无效尝试,React [关闭]
【发布时间】:2020-10-25 00:10:39
【问题描述】:

我正在将一个示例购物车项目从 useState 重构为 useReducer

cartReducerADD_TO_CART 情况下,我尝试将item object 添加到cart 数组中,但我收到Invalid attempt to spread non-iterable instance. 我做错了什么?谢谢。

https://codesandbox.io/s/inspiring-cdn-3musx?file=/src/App.js

【问题讨论】:

    标签: reactjs react-hooks


    【解决方案1】:

    您应该返回整个状态,而不是单个状态。

    const cartReducer = (state, action) => {
      switch (action.type) {
        case "ADD_TO_CART":
          return { cart: [...state.cart, action.item] };
        default:
          throw new Error();
      }
    };
    

    【讨论】:

    • 抱歉,好像不行。
    • 你试过测试吗?我在你提供的代码盒上做了,效果很好。同样,您可以再次测试为return {...state, cart: [...state.cart, action.item] };
    • 不幸的是,仍然一无所获。您能否将链接发送到工作沙箱?
    • 在这个链接上,你会看到没有像你这样的错误发生。
    猜你喜欢
    • 1970-01-01
    • 2019-06-25
    • 2021-01-28
    • 2019-07-01
    • 2019-07-18
    • 1970-01-01
    • 2021-09-02
    • 1970-01-01
    • 2021-01-14
    相关资源
    最近更新 更多