Расскажите, что означают директивы "use client" и "use server" в Next.js App Router и как это соотносится с Pages Router.

use client задаёт границу клиентского кода в App Router, а use server помечает серверные функции, доступные для вызова через механизм React/Next. Это не симметричные метки компонентов.

Короткий ответ

Что ответить на собеседовании

use client задаёт границу клиентского кода в App Router, а use server помечает серверные функции, доступные для вызова через механизм React/Next. Это не симметричные метки компонентов.

Подробный разбор

Ответ с пояснениями

use client задаёт границу клиентского кода в App Router, а use server помечает серверные функции, доступные для вызова через механизм React/Next. Это не симметричные метки компонентов.

Server Components в App Router не требуют use server по умолчанию; клиентские компоненты могут участвовать в начальном серверном HTML. use server не заменяет проверку прав и входных данных. Pages Router использует другую модель страниц и получения данных, например getServerSideProps; переносить смысл App Router-директив на него автоматически нельзя.

Источник: nextjs.org.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее