advanced
Server actions where applicable
Понимайте, когда отправка формы может пересечь серверную границу и как связаны pending, валидация и безопасность.
Server Actions (в фреймворках вроде Next.js) позволяют формам вызывать async-функции на сервере из клиентских компонентов. Они сериализуют аргументы, поддерживают прогрессивное улучшение и связаны с revalidation. Относитесь к ним как к RPC-эндпоинтам: валидируйте ввод, проверяйте права, возвращайте структурированные ошибки.
Показывайте pending через `useFormStatus` или state transition. Не раскрывайте секреты в payload action. Клиентская валидация — для UX, не для безопасности.
На интервью объясняйте концепцию на конкретном примере и называйте поведение, которое проверяют.
Типовые ошибки: скрывать поток данных, дробить компоненты чрезмерно и выполнять побочные эффекты в render.
Компромисс часто между ясностью и переиспользованием или между явными props и удобством.
Чеклист:
- Валидация и авторизация на сервере.
- Структурированные ошибки полей в UI.
- Состояния pending и ошибки при отправке.