小编Dav*_*vid的帖子

NEXT.js ISR 删除静态页面

我的 ISR 有一点问题。我的 revalidate 属性等于 1s,如下所示

export async function getStaticProps({ params }) {
  const data = await client.getEntries({
     content_type: "product",
    "fields.name": params.slug,
  });


  if (!data.items[0]) {
    return {
      notFound: true,
    };
  }
  return {
    props: {
      article: data.items[0],
      revalidate: 1,
    },
  };
}
Run Code Online (Sandbox Code Playgroud)

当我在 Contentful 中创建产品时,页面会按我的预期创建。当我想进入不存在的页面时,我会收到预期的 404 错误。当我更改现有产品中 Contentful 中的某些内容或将其删除时,问题就会出现。

当我在 Contentful 中删除产品时,产品页面中的产品列表会更新并且产品会消失,但我仍然可以进入该产品的页面。此外,当我重命名产品名称时,产品列表也会更新,但我仍然可以访问较早的页面名称。

有什么办法可以解决这个问题吗?

获取静态路径

export async function getStaticPaths() {
  const data = await client.getEntries({
    content_type: "product",
  });

  return {
    paths: data.items.map((item) => ({
      params: { slug: item.fields.name },
    })), …
Run Code Online (Sandbox Code Playgroud)

reactjs contentful next.js

6
推荐指数
1
解决办法
3703
查看次数

标签 统计

contentful ×1

next.js ×1

reactjs ×1