Какие state manager важны на практике и как их применять?
Продвинутые темы
На практике применяют Redux (Toolkit), Zustand, MobX, Jotai/Recoil для клиентского состояния и TanStack Query/SWR для серверного. Выбор зависит от сложности и типа состояния.
Менеджеры клиентского состояния
Redux Toolkit
Предсказуемое централизованное хранилище, строгий однонаправленный поток, мощные devtools. Для крупных приложений со сложным общим состоянием.
Zustand
Минималистичный store на хуках, мало бойлерплейта. Для среднего размера, когда Redux избыточен.
const useStore = create((set) => ({
count: 0,
inc: () => set((s) => ({ count: s.count + 1 })),
}));MobX
Реактивность через наблюдаемые объекты: меняешь данные — UI обновляется автоматически. Меньше явного кода.
Jotai / Recoil
Атомарное состояние — маленькие независимые «атомы».
Серверное состояние
TanStack Query, SWR — кеширование, рефетч, синхронизация с сервером. Отдельная категория: не хранят клиентское состояние, а управляют данными с бэкенда.
Как выбирать
- Большое сложное состояние → Redux Toolkit.
- Простой глобальный стор → Zustand.
- Реактивный стиль → MobX.
- Данные с сервера → TanStack Query/SWR.
Коротко для собеседования
Клиентское состояние: Redux Toolkit (крупные приложения), Zustand (минимализм), MobX (реактивность), Jotai (атомы; Recoil заархивирован в 2025 году). Серверное — TanStack Query/SWR (кеш и синхронизация). Серверное и клиентское состояние разделяют.