Глава 17. Context API и общие данные
Зачем эта глава
Когда данные нужны во многих компонентах, передавать props через цепочку становится неудобно.
Context API позволяет делиться данными без лишних промежуточных передач.
Теория (коротко)
Context создаётся через createContext и передаёт данные через Provider.
Компоненты получают доступ к данным через useContext.
const ThemeContext = createContext("light");
function App() {
return (
<ThemeContext.Provider value="dark">
<Page />
</ThemeContext.Provider>
);
}
function Page() {
const theme = useContext(ThemeContext);
return <div>Тема: {theme}</div>;
}
Подсказка: не клади в context всё подряд — он подходит для глобальных данных (тема, язык, пользователь).
Задания
Задание: тема
- Создай ThemeContext.
- Передай тему «dark» через Provider.
- Выведи тему в дочернем компоненте.
Проверка себя
Ты умеешь передавать глобальные данные через Context.
Мини-проект
Цель: переключение языка.
Требования: контекст языка и кнопка смены.
Критерий готовности: язык меняется во всех компонентах.
Словарь главы
- Context
- Механизм для передачи глобальных данных.
- Provider
- Компонент, который предоставляет данные контекста.