我的 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)