Next.js, initialState отдельно от UI
В Next.js с Server Actions initialState легко недооценить и оставить прямо внутри компонента. Формально это работает. Но архитектурно у такого решения есть побочный эффект. UI начинает сам определять стартовую форму результата, а значит понемногу забирает на себя часть контракта, который логичнее держать рядом с action-слоем.
Проблема становится заметной, когда форм в проекте уже несколько. Create, rename, delete, inline-редактор, локальные ошибки, pending. Если каждая форма собирает своё начальное состояние по месту, проект получает несколько почти одинаковых, но всё же разных вариантов form state. Дальше это мешает повторному использованию и делает поведение менее предсказуемым.
Когда initialState вынесен отдельно, useActionState связывает UI уже не с локальной импровизацией, а с заранее описанным состоянием. Компонент перестаёт придумывать контракт и возвращается к своей нормальной роли: отрисовать форму, показать pending, ошибку.
Проект: Workbench
Stepik: Next.js II: TypeScript 2026