【发布时间】:2023-03-06 16:10:01
【问题描述】:
我是新来的反应,我正在传递一个项目道具。一些项目在 items.modifiers 中有一个空数组。当我使用 if 条件时,我仍然收到“无法读取未定义的属性‘映射’”的错误,下面是我的代码。任何帮助将不胜感激。
const NewModal = ({ item }) => {
if (item.modifiers !== "") {
item.modifiers.map((modifier) => console.log(modifier.cat_name));
}
};
return [
{
items: [
{
item_id: 1,
item_name: "Philadelphia Steak Sandwich",
modifiers: {
cat_name: " Choose a side",
mod_items: [
{ mod_item_name: "French Fries", price: 1 },
{ mod_item_name: "Cole Slaw", price: 2 },
],
},
},
{
item_id: 2,
item_name: "Philadelphia Steak Sandwich Deluxe",
modifiers: "",
},
],
},
];
【问题讨论】:
-
这能回答你的问题吗? How to check if an object is an array?
-
只需检查它是否未定义、具有
map属性/函数的对象还是数组,具体取决于您的应用程序的需要。我不确定对空字符串进行哪些检查将有助于避免。一段可能是空字符串或数组的数据听起来很脆弱。
标签: javascript arrays reactjs ecmascript-6