intermediate

Управление состоянием

Владение состоянием, производные значения, нормализация, глобальные и observable store, лёгкие store и кэши серверного состояния во frontend-приложениях.

На интервью по управлению состоянием проверяют архитектурное мышление, а не знание API библиотек. Сильные ответы называют источник истины, владельца каждого значения, срок жизни, каноничность или производность данных и цену синхронизации.

Дочерние разделы: общие принципы (локальное vs глобальное, серверное vs клиентское, производные значения, нормализация, иммутабельность), клиентские store (Redux, MobX, Zustand) и кэши серверного состояния (TanStack Query, SWR, инвалидация, optimistic UI).

На интервью: когда хватает локального состояния, когда оправдан глобальный store, чем Redux отличается от MobX или Zustand и почему библиотеки server cache не заменяют клиентский store.

Типовые ошибки: всё в глобальный store, дублирование производных данных, незаметная мутация вложенных объектов, персист чувствительных полей, смешение свежести кэша с владением UI-состоянием.

Чеклист:

  • Назовите источник истины для каждого значения.
  • Выберите минимального владельца.
  • Вычисляйте, а не дублируйте.
  • Спланируйте инвалидацию, персист и откат.