Где хранить какое состояние
Вопрос
Как ты решаешь, где хранить состояние в React-приложении?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Разделить на виды: серверное, глобальное клиентское, локальное, URL, формы, производное
Серверное в TanStack Query или RTK Query, а не руками в сторе
Фильтры, пагинацию, вкладки в URL
Локальное как можно ближе к месту использования (useState)
Глобальный стор только для настоящего общего клиентского состояния
Производное не хранить, а вычислять
Что могут спросить следом
- Когда нужен Redux в 2026 году?
- Как синхронизировать URL и стор?
Разбор
Я начинаю с вопроса, откуда приходит значение и кто им владеет. Если источник правды на сервере, это серверное состояние, его держу в TanStack Query: там кеш, ретраи, инвалидация. Если значение должно попадать в ссылку и переживать перезагрузку, как фильтры и номер страницы, оно живёт в URL. Если оно нужно одному компоненту, это useState рядом. Формы веду через React Hook Form. И только то, что реально общее и клиентское, вроде темы, сессии или корзины гостя, кладу в Zustand или Redux Toolkit. Всё, что можно вычислить, не храню. В итоге глобальный стор получается маленьким, и его легко понимать.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.