Инкрементная статическая регенерация (ISR) не работает на сайте NextJS, развернутом на Vercel

У меня развернуто несколько сайтов Vercel, и многие из них используют ISR для создания нового статического контента. Я работаю над новым сайтом, и по какой-то причине ISR не работает, когда я вношу изменения в свою CMS (Contentful).

Кто-нибудь знает, как устранить неполадки, почему это не работает? Ничто в моих журналах ошибок функций на Vercel не указывает на проблему.

Вот код компонента, где ISR не работает:

      import React, { useLayoutEffect } from 'react'
import Layout from '@/components/layout/Layout'
import AdsHeader from '@/components/layout/AdsHeader'
import { getEntry, getSlugs, getEntries } from '@/lib/contentful'
import { blogPostMeta } from '@/lib/blog'
import BlogDrawer from '@/components/Blog/BlogDrawer'

import Post from '@/components/Blog/Post'

export default function BlogPostIndex({ post, posts }) {
    const metaData = blogPostMeta(post);

    return (
        <>
            <AdsHeader />
            <Layout
                pageTitle={post.fields.title}
                headerTitle="Blog"
            >
                <Post post={post} posts={posts} metaData={metaData} />
            </Layout>
            <BlogDrawer posts={posts} />
        </>
    )
}

export async function getStaticProps({ params }) {
    const post = await getEntry('post', params.slug);
    const posts = await getEntries({
        content_type: 'post',
        'fields.slug[ne]': params.slug,
        order: '-fields.date'
    });

    return {
        props: {
            post: post[0],
            posts
        },
        revalidate: 10
    }
}

export async function getStaticPaths() {
    const slugs = await getSlugs('post');

    const paths = slugs.map((slug) => ({
        params: { slug: slug },
    }));

    return {
        paths,
        fallback: 'blocking'
    };
}

0 ответов

Другие вопросы по тегам