我不断收到此错误“无法读取未定义的属性'map'”

时间:2020-04-16 14:15:36

标签: reactjs


    TypeError: Cannot read property 'map' of undefined
      ClassCard
      C:/Users/hp/Desktop/abe2021/src/components/ClassList/ClassCard.js:8
         5 | 
         6 | const ClassCard = ({Names}) => {
         7 | 
      >  8 |    const cardComp = Names.map((Names, i) => {
           | ^   9 |        return <ClassList 
        10 |        key={i} 
        11 |        id={Names[i].id} 

我正在尝试在我的React项目中通过一个图表进行映射,并且不断出现上述错误

2 个答案:

答案 0 :(得分:1)

名称未定义(或不​​是数组)

由于map是数组方法,因此不能在mapundefined上使用null

分配默认的空数组值

const ClassCard = ({Names = []}) => {
  const cardComp = Names.map((Names, i) => {
  ...
  }
}

或检查您的Names数组是否存在

const ClassCard = ({Names}) => {
  const cardComp = Names && Names.map((Names, i) => {
  ...
  }
}

答案 1 :(得分:0)

好吧,这很容易解决,也许在您编辑Names的另一个组件中,不再以数组的形式将其编辑,这就是为什么您不能在其中使用方法.map的原因,检查名称的类型是否为array。 也许您还应该向我们提供更多代码,以便我们可以查看错误的确切位置。

谢谢:)