在循环映射反应渲染中未定义对象键

时间:2019-11-07 10:34:44

标签: javascript reactjs

我可以像

一样访问整个对象
<Card.Content>{_this.state.index}</Card.Content>

它说:永久违反:对象作为React子对象无效(找到:带有键{名称,标题,电子邮件,电话,照片,办公室名称,managermail}的对象)。

但这不是我的目标,我只想呈现其中一个键

 const componentsMobile = this.state.components.map(item => (
      <Card fluid key={index}>
        <Card.Content>
          <Card.Header>{item.value.label}</Card.Header>
        </Card.Content>
        <Card.Content extra>{_this.state.index.email}</Card.Content>
        {/* <Card.Content extra>{_this.state.index.value[item.source]}</Card.Content> */}
      </Card>
 ))
  

index.cjs.js:798未捕获的TypeError:无法读取的属性'email'   未定义

我不确定为什么未定义

1 个答案:

答案 0 :(得分:1)

尝试将支票添加为_this.state && _this.state.index && _this.state.index.email

如果存在该电子邮件,则将显示该电子邮件,否则将不显示任何内容,并且也不会出现此错误。

到目前为止,您可以将解决方案直接放在使用_this.state.index.email的位置。