advanced

Server actions where applicable

Понимайте, когда отправка формы может пересечь серверную границу и как связаны pending, валидация и безопасность.

Server Actions (в фреймворках вроде Next.js) позволяют формам вызывать async-функции на сервере из клиентских компонентов. Они сериализуют аргументы, поддерживают прогрессивное улучшение и связаны с revalidation. Относитесь к ним как к RPC-эндпоинтам: валидируйте ввод, проверяйте права, возвращайте структурированные ошибки.

Показывайте pending через `useFormStatus` или state transition. Не раскрывайте секреты в payload action. Клиентская валидация — для UX, не для безопасности.

На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.

Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.

Компромисс часто между ясностью и переиспользованием или между явными props и удобством.

Чеклист:

  • Валидация и авторизация на сервере.
  • Структурированные ошибки полей в UI.
  • Состояния pending и ошибки при отправке.