useContext подписывает компонент на Context и возвращает текущее значение. Создаёшь контекст через createContext, оборачиваешь дерево в Provider с value, в потомках вызываешь useContext. Любое изменение value перерендерит ВСЕ подписанные компоненты — это главная проблема. Решения: разделять контексты, мемоизировать value через useMemo, использовать select-паттерн. Для глобального стейта лучше Zustand или Jotai — у них нет этой проблемы.
Как правильно использовать useContext?
Middle
340 просмотровAFK Offer AI
Как работает event delegation?