Вступить в клуб →
средняявопросNext.js и рендеринг: SSR, SSG, гидратация

Сайт переписали на Next.js, а в исходном HTML страницы товара всё ещё нет описания

Страницу товара перенесли в Next.js ради SEO, но код загрузки оставили прежним:

const [product, setProduct] = useState(null);

useEffect(() => {
  fetch(`/api/products/${id}`).then((r) => r.json()).then(setProduct);
}, [id]);

if (!product) return <Spinner />;

В «Просмотре кода страницы» — только спиннер. Почему?

  • useEffect не выполняется на сервере — HTML рендерится до загрузки данных
  • Next.js не выполняет fetch на сервере, нужен axios
  • Просмотр кода страницы показывает только HTML, закэшированный браузером
  • Спиннер нужно обернуть в noscript, чтобы роботы его не видели

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела