Ответ вслух Middle Архитектура состояния спрашивают часто обновлено

Где хранить какое состояние

Вопрос

Как ты решаешь, где хранить состояние в React-приложении?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Я начинаю с вопроса, откуда приходит значение и кто им владеет. Если источник правды на сервере, это серверное состояние, его держу в TanStack Query: там кеш, ретраи, инвалидация.

Что должно прозвучать в ответе

  • Разделить на виды: серверное, глобальное клиентское, локальное, URL, формы, производное

  • Серверное в TanStack Query или RTK Query, а не руками в сторе

  • Фильтры, пагинацию, вкладки в URL

  • Локальное как можно ближе к месту использования (useState)

  • Глобальный стор только для настоящего общего клиентского состояния

  • Производное не хранить, а вычислять

Что могут спросить следом

  • Когда нужен Redux в 2026 году?
  • Как синхронизировать URL и стор?

Разбор

Я начинаю с вопроса, откуда приходит значение и кто им владеет. Если источник правды на сервере, это серверное состояние, его держу в TanStack Query: там кеш, ретраи, инвалидация. Если значение должно попадать в ссылку и переживать перезагрузку, как фильтры и номер страницы, оно живёт в URL. Если оно нужно одному компоненту, это useState рядом. Формы веду через React Hook Form. И только то, что реально общее и клиентское, вроде темы, сессии или корзины гостя, кладу в Zustand или Redux Toolkit. Всё, что можно вычислить, не храню. В итоге глобальный стор получается маленьким, и его легко понимать.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.