当前位置: 首页 > 知识库问答 >
问题:

我总是得到typeerror:第9行中的item未定义,不知道为什么

孟和怡
2023-03-14
import React from 'react';
import { Card, CardImg, CardText, CardBody, CardTitle, CardSubtitle } from 'reactstrap';

function RenderCard({item}) {
  return(
      <Card>
          <CardImg src={item.image} alt={item.name} /> //Here
          <CardBody>
          <CardTitle>{item.name}</CardTitle>
          if(item.designation) {
             <CardSubtitle>{item.designation}</CardSubtitle>
           } else {
                  return null 
               } //If statement
          <CardText>{item.description}</CardText>
          </CardBody>
      </Card>
  );
}

function Home(props) {
  return(
    <div className="container">
      <div className="row align-items-start">
          <div className="col-12 col-md m-1">
              <RenderCard item={props.dish} />
          </div>
          <div className="col-12 col-md m-1">
              <RenderCard item={props.promotion} />
          </div>
          <div className="col-12 col-md m-1">
              <RenderCard item={props.leader} />
          </div>
          </div>
      </div>
  );
}

export default Home; 

共有1个答案

冯枫
2023-03-14

您的代码有两个问题。

  1. 仍然未定义时,它使用
  2. 它在jsx部分中使用if语句(您只能使用以下简写三元运算符)

像这样更改代码

function RenderCard({item}) {
    return(
        <>
            {item ?
                <Card>
                    <CardImg src={item.image} alt={item.name} /> //Here
                        <CardBody>
                        <CardTitle>{item.name}</CardTitle>
                        {item.designation ? <CardSubtitle>{item.designation}</CardSubtitle> : undefined}
                        <CardText>{item.description}</CardText>
                    </CardBody>
                </Card> : undefined
            }
        </>
    );
}
 类似资料:
  • 我有财产课: 还有一种方法: 在类的构造函数我有: 为什么当我从object按键调用函数时。我收到一条未定义的消息,为什么变量在内部不可用:

  • 当试图用电话号码填充简单的无线电组列表时 无法绑定到“ngForOf”,因为它不是“离子项”的已知属性。 问题与角9有关。可能的解决方案是,BrowserMoules和Common模块需要到位。我想我明白了。然而,错误仍然存在。 爱奥尼亚信息: 加上数字。页ts add-number.module.ts 加上数字。页html 你知道怎么解决这个问题吗? . 编辑:https://pastebin.

  • 问题内容: 尝试轮询AngularJS资源上的自定义方法时,我在处收到以下错误:(该方法工作正常。) Angular.js 10016-10035: 简化的资源: 我收到错误的简化指令: 一旦运行该方法,执行该行就会引发上面的错误。 在Chrome检查器中,我看到对API的调用实际上已完成。但是兑现诺言似乎会引发一些错误… 我该如何解决这个错误? 编辑: Angular Resource正在尝试用

  • 我有以下html: 我试图获得如下范围: 但我收到:。 我是angularJS初学者,我只是不明白为什么这不起作用。 更新:这也不起作用: 更新2:我试图在控制台中打印出作用域的所有代码:

  • 我想发送用户的电子邮件检查副本 这是我的背部控制器 这是我的前控制器 这是我的观点 当我使用“console.log”检查时,前端控制器可以正确地获取用户的电子邮件。但是在后面的控制器中,RequestParam什么都没有,只有NULL没有错误代码,除了'nullPointerException'。 我想这不是沟通错误。我是不是错过了什么?谢了!

  • 我收到一个错误 (节点:2632)未经处理的PromisejectionWarning:TypeError:无法读取模块处未定义的更新成员(C:\Users\Asus\Desktop\Section 50\commands\Main commands\Mod\member count.js:5:31)的属性“channels”。在客户端导出(C:\Users\Asus\Desktop\sectio