使用静态和服务器端props的Next.js测试要求我检查组件props Object not null

vvppvyoh  于 2023-05-06  发布在  其他
关注(0)|答案(1)|浏览(111)

我创建了一个项目来熟悉Next.js getStaticProps和getServerSide props。我有一个简单的组件,它根据用户数据呈现一个表行。我还没有能够检测到对象为null的时间,但是如果我不检查null,我就不能通过构建。这些页面可以正常工作,但构建失败,除非我检查传递给UserRow组件的用户对象是否为null。

if (props.user && props.user.id) {
    const { id, name, email } = props.user;
    return (
      <tr>
        <td>{id}</td>
        <td>{name}</td>
        <td>{email}</td>
      </tr>
    );
  } else {
    return <p>no data</p>;
  }

我想知道为什么要成功构建需要进行null检查。
代码:https://github.com/rebeccapeltz/demo-next-static-serverside
部署的代码:https://demo-next-static-serverside.netlify.app/

liwlm1x9

liwlm1x91#

TL;DR

由于数据是从外部API(本质上是非类型化区域)获取的,因此它也可能返回null,因此它需要null检查。

相关问题