Next.js · Урок 40

Next.js: SSR и SSG

SPA «на голом React» плохо видят поисковики: HTML пустой, скрипты грузятся в браузере. Next.js рендерит HTML на сервере — скорость и SEO, не теряя React-дев-опыта.

Три режима рендеринга

// app/posts/[id]/page.js — SSR-страница поста
export default async function PostPage({ params }) {
  const post = await fetch("https://api.x.dev/posts/" + params.id).then(r => r.json());
  return (
    <article>
      <h1>{post.title}</h1>
      <p>{post.body}</p>
    </article>
  );
}

Файловые маршруты

В Next.js URL — это путь в папке app/:

app/
├── page.js              # /
├── about/page.js        # /about
├── posts/page.js        # /posts
└── posts/[id]/page.js   # /posts/42  (динамический сегмент)
💡
Изображения — это компонент next/image (авто-оптимизация и lazy-loading), ссылки — next/link. Оба — «бесплатные» скорости из коробки.
ℹ️
Выберите правильный режим по факту «сколько данные живут»: редко меняются — SSG, меняются за секунды — SSR, клиент с данными от API — CSR. Иногда в одном приложении все три.