-
Базовая дополнительная статическая регенерация:
// pages/index.js export async function getStaticProps() { const data = await fetch('https://api.example.com/posts'); const posts = await data.json(); return { props: { posts, }, revalidate: 60, // Regenerate every 60 seconds }; } -
Пошаговая статическая регенерация с динамическими маршрутами:
// pages/posts/[slug].js export async function getStaticPaths() { const data = await fetch('https://api.example.com/posts'); const posts = await data.json(); const paths = posts.map((post) => ({ params: { slug: post.slug }, })); return { paths, fallback: true, }; } export async function getStaticProps({ params }) { const { slug } = params; const data = await fetch(`https://api.example.com/posts/${slug}`); const post = await data.json(); return { props: { post, }, revalidate: 60, // Regenerate every 60 seconds }; } -
Пошаговая статическая регенерация с использованием внешних данных:
// pages/index.js export async function getStaticProps() { const data = await fetch('https://api.example.com/posts'); const posts = await data.json(); return { props: { posts, }, revalidate: 60, // Regenerate every 60 seconds }; } -
Пользовательский интервал дополнительной статической регенерации:
// pages/index.js export async function getStaticProps() { const data = await fetch('https://api.example.com/posts'); const posts = await data.json(); return { props: { posts, }, revalidate: 3600, // Regenerate every 1 hour }; } -
Пошаговая статическая регенерация с внешними триггерами:
// pages/index.js export async function getStaticProps({ preview }) { let data; if (preview) { data = await fetch('https://api.example.com/previewPosts'); } else { data = await fetch('https://api.example.com/posts'); } const posts = await data.json(); return { props: { posts, }, revalidate: 60, // Regenerate every 60 seconds }; }
Это всего лишь несколько примеров реализации следующей инкрементной статической регенерации. Вы можете настроить интервал повторной проверки, управлять внешними источниками данных и т. д. в зависимости от ваших конкретных требований.