Вопрос проверяет понимание роли Provider в Context API React для передачи данных через дерево компонентов.
Provider — это компонент-обертка, который делает значение контекста доступным для всех дочерних компонентов в дереве React. Он решает проблему «prop drilling», когда данные нужно передавать через множество промежуточных компонентов.
Provider принимает проп value, который становится доступным через хук useContext или Consumer. Когда значение меняется, все подписанные компоненты перерисовываются.
import React, { createContext, useContext, useState } from 'react';
const ThemeContext = createContext();
export function ThemeProvider({ children }) {
const [theme, setTheme] = useState('light');
return (
<ThemeContext.Provider value={{ theme, setTheme }}>
{children}
</ThemeContext.Provider>
);
}
function ChildComponent() {
const { theme, setTheme } = useContext(ThemeContext);
return (
<button onClick={() => setTheme(theme === 'light' ? 'dark' : 'light')}>
Current theme: {theme}
</button>
);
}Provider используется для централизованного управления состоянием в React-приложениях, когда данные нужны многим компонентам на разных уровнях вложенности. Это особенно полезно для тем, локализации или данных пользователя.
Уровень
Рейтинг:
4
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию