Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: React, useContext, Context API, hooks

Что такое useContext?

Вопрос проверяет понимание хука useContext в React для доступа к контексту без пропс-дриллинга.

Короткий ответ

useContext — это хук React, который позволяет читать значение контекста и подписываться на его изменения. Он используется для передачи данных через дерево компонентов без явной передачи пропсов на каждом уровне. Просто вызовите useContext(MyContext) внутри компонента, и он вернет текущее значение контекста.

Длинный ответ

Что такое useContext?

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-приложении, особенно для статичных или редко меняющихся значений.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • React

    React

Ключевые слова

#React

#useContext

#Context API

#hooks

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию