Вопрос проверяет понимание хука useContext в React для доступа к контексту без пропс-дриллинга.
useContext — это хук React, который предоставляет доступ к значению контекста, созданного с помощью Context API. Он решает проблему пропс-дриллинга, когда данные нужно передавать через множество вложенных компонентов. Вместо того чтобы передавать пропсы вручную, вы можете создать контекст и использовать его в любом компоненте-потомке.
Сначала создается контекст с помощью React.createContext(). Затем провайдер (Provider) оборачивает дерево компонентов и передает значение. Любой компонент внутри провайдера может вызвать useContext(MyContext) и получить это значение. При изменении значения контекста все подписанные компоненты перерендериваются.
import React, { createContext, useContext, useState } from 'react';
const ThemeContext = createContext('light');
function App() {
const [theme, setTheme] = useState('dark');
return (
<ThemeContext.Provider value={theme}>
<Toolbar />
</ThemeContext.Provider>
);
}
function Toolbar() {
const theme = useContext(ThemeContext);
return <div>Current theme: {theme}</div>;
}useContext идеален для глобальных данных, таких как тема, локализация или аутентификация. Однако не стоит злоупотреблять им для частых обновлений состояния, так как это может вызвать лишние рендеры. В таких случаях лучше использовать Redux или другие библиотеки управления состоянием.
Вывод: useContext — простой и эффективный способ делиться данными в React-приложении, особенно для статичных или редко меняющихся значений.
Уровень
Рейтинг:
5
Сложность:
3
Навыки
JavaScript
React
Ключевые слова
Подпишись на React Developer в телеграм
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию