next.js 为什么我收到“错误:序列化从getStaticProps返回的___时出错“?

rdrgkggo  于 2023-01-05  发布在  其他
关注(0)|答案(2)|浏览(161)

当我在getStaticProps内部调用时收到以下错误,但我无法找出原因:

Error: Error serializing `.lingo` returned from `getStaticProps` in "/".
Reason: `undefined` cannot be serialized as JSON.

我已经把完整的应用程序代码放在CodeSandbox上了,它不能访问API,但它确实显示了定义的位置。
当我在GraphQL playground上运行以下查询时,我得到了预期的响应:

query {
   allTerms {
      id
      term
      slug
      lead
   }
}

您可以看到,这个查询包含在沙箱上modules/lingo/services目录下的lingo.service.js中,但主页出现Error serializing错误。是我的函数export async function getAll()不正确,还是我在getStaticProps中调用了错误的函数?

cmssoen2

cmssoen21#

await getAll()很可能返回不可序列化JSON的undefined。默认为null是解决此问题的一种方法。

export async function getStaticProps(context) {
  return {
    props: { lingo: (await getAll()) ?? null },
  };
}
yv5phkfx

yv5phkfx2#

好吧,这应该是一个评论,但显然我没有足够的信誉点来评论。所以,我会这样回答。
只要检查你的 prop (getStaticProps()下)是否命名正确,即它们在你试图读取的.json文件中是如何命名的。我遇到这个问题是因为我有一个打字错误,我刚刚修复了它。

相关问题