intermediate

Границы server и client

Выбирайте, где выполняется код, что может пересечь границу и как data и actions движутся между server и client.

На интервью по границам проверяют, где выполняется код и что может пересечь сеть. Server Components — дефолт в App Router; Client Components с `use client` — для events, state, effects и browser API.

Подтемы: Server Components, Client Components, Server Actions и паттерны server-side fetch.

На интервью: нарисуйте границу — какой модуль импортирует server-only пакеты, какие props сериализуются, где выполняются мутации.

Типовые ошибки: server-only код в client bundle, передача functions или class instances как props, дублирование fetch на клиенте после server load.

Чеклист:

  • По умолчанию server; client осознанно.
  • Сериализуйте только поддерживаемые props.
  • Секреты и DB clients на сервере.
  • Чтение на server, мутации через actions или API.