Страницы в Next.js

164

3/23/2022

В Next.js, страница - это обычный React-компонент, экспортированный из .js, .jsx, .ts или .tsx файла в папке pages. Каждая находящаяся в этой папке страница, ассоциируется с роутом.

Вадим Пашаев

Вадим Пашаев

Инженер, веб-разработчик, путешественник

Страницы в Next.js
Регистрация товарных знаков
Craftum - создайте сайт за 15 минут
Домены, хостинг от reg.ru

Перевод официальной документации

Для справки

Эта документация справедлива, для Next.js v9.3 и выше. Если вы используете более раннюю версию, перейдите по ссылке.

Для справки

В Next.js, страница - это обычный React-компонент, экспортированный из .js, .jsx, .ts или .tsx файла в папке pages. Каждая находящаяся в этой папке страница, ассоциируется с роутом.

Например: если вы создадите файл pages/about.js и напишите код, как в примере ниже, он будет доступен по url /about.

function About() {
  return <div>About</div>
}

export default About

Страницы с динамической маршрутизацией

Next.js поддерживает страницы с динамической маршрутизацией. Например, если вы создадите файл pages/posts/[id].js, он будет обрабатывать следующие пути /posts/1, /posts/2 и т.д.

Для того, чтобы изучить больше о динамической маршрутизации посетите страницу.

Для справки

Предварительный рендеринг

По умолчанию в Next.js используется предварительный рендеринг всех созданных в папке pages страниц. Это означает, что Next.js генерирует HTML для каждой страницы заранее, вместо того, чтобы это делать с помощью JS на стороне клиента. Так это приводит к повышению производительности и улучшению SEO.

Каждая сгенерированная HTML-страница дополняется минимальным кодом на JS, необходимым для этой страницы. Когда страница загружается браузером, ее JavaScript-код запускается и страница становится полностью интерактивной. Этот процесс называется гидратацией.

Различают две формы предварительного рендеринга:

Next.js имеет две формы предварительного рендеринга: статическую генерацию (SSG) и рендеринг на стороне сервера (SSR). Разница заключается лишь в том, в какой момент генерируется HTML-код для страницы.

  • Статическая генерация (рекомендуется): HTML генерируется один раз во время сборки и дальше будет повторно загружаться при каждом запросе.
  • Рендеринг на стороне сервера: HTML генерируется при каждом запросе.

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

Мы рекомендуем использовать статическую генерацию вместо рендеринга на стороне сервера по соображениям производительности. Статически сгенерированные страницы могут кэшироваться CDN без дополнительной настройки. Однако в некоторых случаях рендеринг на стороне сервера может быть единственным вариантом.

Вы также можете использовать рендеринг на стороне клиента (CSR) наряду со статической генерацией или рендерингом на стороне сервера. Это означает, что некоторые части страницы могут быть полностью отрисованы с помощью JavaScript на стороне клиента. Чтобы узнать больше, ознакомьтесь с документацией по получению данных.

Подписаться на рассылку

Получите лучшие новости по веб-разработке и AI

Подписаться на рассылку

Получите лучшие новости по веб-разработке и AI

Оценка проекта

Хотите быструю оценку Вашего проекта?

Василий Иванов
Максим Насенников
Виктория Мальцева
Vadim Pashaev

Заполните форму справа и наша команда экспертов поможет найти для Вас оптимальное решение вашей идеи или задачи

Есть интересная идея?

И вы очень хотите ее реализовать, пишите нам и получите подробное коммерческое предложение и быструю реализацию