PassFront
  1. PassFront
  2. База знаний
  3. Продвинутые темы

Какие менеджеры состояния важны на практике и как их применять?

Продвинутые темы

Важные менеджеры состояния: Redux (Toolkit), Zustand, MobX, Context API для клиентского состояния и TanStack Query/SWR для серверного. Выбор — по сложности и типу данных.

Клиентское состояние

useState / useReducer

Локальное состояние компонента; useReducer — для сложной логики.

Context API

Передача данных без prop drilling; хорош для редко меняющихся данных (тема, локаль). При частых изменениях вызывает лишние ре-рендеры.

Redux Toolkit

Предсказуемое централизованное состояние, строгий поток, DevTools. Для крупных приложений.

const slice = createSlice({ name, initialState, reducers });

Zustand

Минималистичный store на хуках, мало кода. Для среднего размера.

const useStore = create((set) => ({ count: 0, inc: () => set((s) => ({ count: s.count + 1 })) }));

MobX

Реактивность через observables, автоматическое обновление UI.

Серверное состояние

TanStack Query, SWR — кеширование, рефетч, синхронизация с бэкендом. Отдельная категория, не для клиентского состояния.

Как выбирать

  • Локальное → useState/useReducer.
  • Редко меняющееся общее → Context.
  • Крупное сложное → Redux Toolkit.
  • Простой глобальный стор → Zustand.
  • Данные с сервера → TanStack Query/SWR.

Коротко для собеседования

Клиентское состояние: useState/useReducer (локальное), Context (редко меняющееся общее), Redux Toolkit (крупное), Zustand (минимализм), MobX (реактивность). Серверное — TanStack Query/SWR (кеш, синхронизация). Серверное и клиентское состояние разделяют.

Другие вопросы раздела