Next.js динамические страницы не обновляются

#next.js

#next.js

Вопрос:

Мы создали простой блог, используя Next.js и заметили, что ни одно из изменений, которые мы вносим в CMS (безголовый WordPress), не отражается на динамических страницах. Например, мы обновили все имена авторов, и хотя изменения отображаются правильно на целевой странице блога, динамические страницы не отражают это изменение (я пробовал разные браузеры и окно инкогнито). Я понимаю, что next.js создает эти страницы при развертывании, но если это будет означать, что нам придется повторно развертывать каждый раз, когда мы создаем даже небольшой udpate для содержимого на серверной части.

Ответ №1:

Ваши статические страницы извлекаются при сборке. Но Next.js есть возможность обновлять их на лету.

Попробуйте revalidate параметры в getStaticProps (https://nextjs.org/docs/basic-features/data-fetching#getstaticprops-static-generation )

 export async function getStaticProps() {
  const res = await fetch('https://.../posts')
  const posts = await res.json()

  return {
    props: {
      posts,
    },
    // Next.js will attempt to re-generate the page:
    // - When a request comes in
    // - At most once every second
    revalidate: 1, // In seconds
  }
}
  

Они говорят, что это подход ISR (https://nextjs.org/docs/basic-features/data-fetching#incremental-static-regeneration )