Бывают ли state manager только глобальными?
Продвинутые темы
Нет, стейт-менеджеры бывают не только глобальными — существует и локальное управление состоянием, и разные уровни (компонент, поддерево, приложение).
Уровни управления состоянием
Локальное (компонент)
useState, useReducer — состояние внутри одного компонента.
const [count, setCount] = useState(0);Состояние поддерева (scoped)
Context или локальный store для части приложения:
<CartProvider>
<Cart /> {/* доступ только внутри */}
</CartProvider>Многие менеджеры (Zustand, Jotai) позволяют создавать локальные/скоупед сторы, а не только один глобальный.
Глобальное (приложение)
Redux, глобальный Zustand-стор — данные для всего приложения (юзер, тема).
Серверное состояние
TanStack Query, SWR — кеш данных с бэкенда (отдельная категория).
Гибкость менеджеров
- Zustand/Jotai — можно и глобально, и локально (несколько сторов, атомы).
- Redux — обычно один глобальный store, но можно скоупить.
- MobX — сторы любого размаха.
Коротко для собеседования
Нет: состоянием управляют на разных уровнях — локально (useState/useReducer), в поддереве (Context, скоупед-сторы Zustand/Jotai) и глобально (Redux). Плюс серверное состояние (TanStack Query). Многие менеджеры поддерживают и локальные сторы, не только один глобальный.