DOM и React Middle Context и стейт-менеджеры обновлено
Контекст
Условие
Сделай контекст темы: провайдер отдаёт значение, потомок его читает. Компонент Label должен показывать текущую тему.
Что проверяют тесты
читает значение провайдера
обновляется при смене
без провайдера берёт значение по умолчанию
Как подойти
Контекст решает прокидывание пропсов через уровни, но не заменяет стейт-менеджер: любое изменение value перерисовывает всех потребителей. Отсюда правило - не класть в value объектный литерал без useMemo и разделять редко и часто меняющиеся данные на два контекста.
Подсказки: 2
- useContext возвращает значение ближайшего провайдера.
- Аргумент createContext - значение по умолчанию, когда провайдера нет.
Решите в тренажёре
Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.