问题描述
我正在使用 next.js 10 并且有一个 [slug] 页面,它可以从 Contentful CMS 创建动态页面。
我正在更改 CMS 内的 slug 并运行 next dev
旧的 slug 正确返回 404,而新的 slug 有效。
但是,当我构建并运行 next start
时,旧的 slug 仍然返回一个缓存页面,新的 slug 可以正常工作。
我返回 revalidate 10 并假设页面应该在 10 秒后刷新
export const getStaticProps: GetStaticProps<SlugRoutePageProps> = async ({
params,}) => {
....
....
const pageData = await getPageData(params.slug)
if (pageData.total === 0) return { notFound: true }
return {
props: {
pageType: "DynamicPage",pageProps: {
pageData,},revalidate: 10,}
}
在 getStaticPaths
我有 fallback: "blocking"
,也试过 fallback: true
没有区别。
编辑:getPageData
是对 contentful api 的基本调用 - 无缓存
const getPageData = async (
slug: string,): Promise<FetchPagesResult> => {
const client = createContentfulClient()
return client.getEntries<Page>({
content_type: "page","fields.slug": slug,include: 5,order: "-sys.updatedAt",limit: 1,})
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)