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-состоянием.
Чеклист:
- Назовите источник истины для каждого значения.
- Выберите минимального владельца.
- Вычисляйте, а не дублируйте.
- Спланируйте инвалидацию, персист и откат.