获取“ TypeError:无法读取未定义的属性'map'”的信息

时间:2019-09-21 06:55:50

标签: reactjs

当我尝试运行代码时,它显示此错误:无法读取未定义的属性“地图”。

这是我的代码:

android:rotation

那我该如何解决?

2 个答案:

答案 0 :(得分:2)

该问题是由于您的recipes道具是undefined

您应始终检查自己是否在props中获取数据,

{recipes && recipes.length > 0 && recipes.map(recipe =>{
       return <Recipe key={recipe.recipe_id} recipe={recipe}/>;  
})}

答案 1 :(得分:1)

{recipes && recipes.map(recipe => (
   <Recipe key={recipe.recipe_id} recipe={recipe}/>;
))}

您需要先检查recipes是否存在。不必检查recipes.length > 0,因为[].map()实际上返回一个空数组并且有效:

const A = [1,2,3];
const B = [];

console.log(A.map(x => x*x));
console.log(B.map(x => x*x));

如果您使用的是较新版本的react,则无需执行<React.Fragment>,只需执行<> </>

<>
  <div> ...
  <span> ...
</>