Next.js, initialState отдельно от UI
Архитектурное правило в формах с Server Actions, initialState лучше держать отдельно от UI. Пока начальное состояние собирается прямо внутри компонента, форма начинает сама придумывать свой контракт. Где-то ok false, где-то пустая строка вместо ошибки, где-то fieldErrors вообще нет. Как только форм становится несколько, интерфейс получает разные стартовые состояния для одной и той же логики.
Когда initialState вынесен отдельно, форма перестаёт изобретать структуру результата по месту. UI просто подключается к уже описанному состоянию через useActionState и работает с предсказуемым shape. Это видно на inline CRUD, где важны не только submit и response, но и локальная ошибка, pending, закрытие режима редактирования.
Так убираем лишнюю случайность. Начальное состояние живёт рядом с типами и action-слоем, а UI остаётся UI. За счёт этого форму легче повторять, менять и держать согласованной по всему проекту.
Статья на Хабр Проект: Workbench Stepik: Next.js II: TypeScript 2026
#nextjs #typescript #serveractions #useactionstate #formstate #approuter #react #вебразработка