【发布时间】:2021-12-01 14:25:30
【问题描述】:
在我的 Next.js 应用程序中,我使用 getStaticProps 静态生成页面,就像这样
export async function getStaticProps({ params }) {
...
if (data.isRedirect) {
return {
redirect: {
destination: `${data.redirectTo}`,
permanent: false,
},
};
}
return {
props: {
data,
},
revalidate: 10,
};
}
它在本地主机上按预期工作,但是当我部署到 Vercel 时出现此错误。
错误:
redirect无法从 getStaticProps 中返回 预渲染
我不明白这一点,因为 Next.js 在他们的文档中有这个例子。 https://nextjs.org/docs/basic-features/data-fetching#getstaticprops-static-generation
【问题讨论】:
-
如果您仔细检查文档,您会看到它提到:“注意:当前不允许在构建时重定向,如果重定向在构建时已知,则应将它们添加到 @ 987654325@."。我认为只有在页面重新生成期间使用增量静态重新生成时才能使用
redirect- 而不是在构建时。 -
谢谢@juliomalves。我不知道他们为什么会在文档中举例说明如何做到这一点,然后有一个说明说这是不允许的。我找到了使用 React 的解决方法。