当Myitems是一个空数组时,它说' myitem.map()不是函数'。如何解决?

发布于 2025-01-27 01:54:55 字数 371 浏览 1 评论 0原文

当Myitems State中存在项目时,网站还可以。但是,如果没有项目,则网站会中断。

const [myItems, setMyItems] = useState([]);

return (
<div className="container my-5">
  <div className="row g-5">
    {
      myItems?.map(myItem => <MySingleItem key={myItem._id} myItem={myItem} handleItemDelete={handleItemDelete} />)
    }
  </div>
</div>
);

When items are present in myItems state, the website is ok. but if there is no item, the website breaks.

const [myItems, setMyItems] = useState([]);

return (
<div className="container my-5">
  <div className="row g-5">
    {
      myItems?.map(myItem => <MySingleItem key={myItem._id} myItem={myItem} handleItemDelete={handleItemDelete} />)
    }
  </div>
</div>
);

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

永言不败 2025-02-03 01:54:55

问题是您的myitems实际上是接收到不是数组类型的值。

执行

const myItems = 'b';
myItems.map((a) => a)

将会给出相同的错误untuff typeError:myitems.map不是函数

它告诉您.map不是一个函数,因为当时myitems的数据类型是其他的。

在组件代码的其余部分中检查您对setMyItems的使用情况,或共享完整代码,因为我相信您会错误地将其设置为非阵列类型。

The issue is your myItems is actually receiving a value that is not an array type.

Doing

const myItems = 'b';
myItems.map((a) => a)

will give the same error Uncaught TypeError: myItems.map is not a function.

It's telling you .map is not a function because the data type of the value of myItems at that point in time is something else.

Check your usage of setMyItems in the rest of your component code or share the full code because I believe you're setting it as a non-array type by mistake.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文