Как правильно использовать useContext?

Middle
313 просмотров
AFK Offer AI

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

Следующий вопрос

Что такое margin collapse?