我创建了一个项目来熟悉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/
1条答案
按热度按时间liwlm1x91#
TL;DR
由于数据是从外部API(本质上是非类型化区域)获取的,因此它也可能返回null,因此它需要null检查。