【问题标题】:React Uncaught TypeError: Invalid attempt to spread non-iterable instanceReact Uncaught TypeError:传播不可迭代实例的无效尝试
【发布时间】:2021-03-02 14:50:30
【问题描述】:

我正在尝试将项目推送到本地 gh 页面,一切正常,但是当我将其上传到 gh 时,出现此控制台错误 “未捕获的 TypeError:传播不可迭代实例的无效尝试。 为了可迭代,非数组对象必须有一个 Symbol.iterator 方法。”

const addToFavorites = (item) => {
    setFavorites([...favorites, item]);
    saveToLocalStorage([...favorites, item]);
  };

这段代码似乎是问题,但我无法弄清楚

【问题讨论】:

  • favorites 的类型是什么?
  • 这能回答你的问题吗? Invalid attempt to spread non-iterable instance
  • 在您的代码中; “收藏夹”不是数组或未定义。您应该在“addToFavorites”函数中记录您的变量“favorites”以查看问题所在。
  • const [收藏夹,setFavorites] = useState([]);这是收藏夹数组,实际上它似乎是一个对象

标签: javascript reactjs github iterable spread


【解决方案1】:

该错误试图说明您的收藏夹数组不可迭代,因此无法将它们传播到您在 setFavorites 和 saveToLocalStorage 的参数中创建的数组中。除非我看看你的收藏夹数组,否则我无法给你更多信息

【讨论】:

  • const [收藏夹,setFavorites] = useState([]);这是我最喜欢的数组。正如我所说,在 localhost 上一切正常,当我从 github 页面访问项目后,错误就会出现在我身上。
  • 您可以尝试在 addToFavorites 函数中记录收藏夹对象的样子吗?
  • i.imgur.com/2Fv6UCL.png我的console.log收藏夹
猜你喜欢
  • 1970-01-01
  • 2021-09-02
  • 1970-01-01
  • 2019-06-25
  • 1970-01-01
  • 2021-01-28
  • 2021-01-14
  • 2019-07-01
  • 2019-07-18
相关资源
最近更新 更多