Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про React: props, store

Что такое props drilling?

Этот вопрос проверяет знание концепции передачи пропсов через несколько уровней компонентов.

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

Prop drilling — это процесс передачи данных через несколько уровней компонентов, когда промежуточные компоненты не используют эти данные. Это может привести к усложнению структуры компонентов и затруднить управление состоянием приложения, так как каждое изменение требует обновления всех компонентов-посредников.

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

Prop drilling в React — это практика передачи пропсов через несколько уровней компонентов. Это происходит, когда данные или состояние передаются от родительского компонента к дочернему через промежуточные компоненты, которые сами не используют эти данные.

Например, если у вас есть компонент A, который содержит состояние, и вы хотите передать это состояние в компонент C, который является дочерним для A, но промежуточным компонентом является B, вам придется передавать пропсы через B, даже если B не использует эти данные:

function A() {
  	const [data, setData] = useState('Hello');  
  	return <B data={data} />; 
} 

function B({ data }) {
  	return <C data={data} />; 
} 

function C({ data }) {
  	return <h1>{data}</h1>; 
}

В этом примере data передается от A к C через B, хотя B не использует это состояние. Это приводит к затруднениям в управлении состоянием и усложнению кода, так как любое изменение состояния в A требует обновления всех промежуточных компонентов.

Чтобы избежать проблем с prop drilling, разработчики могут использовать различные подходы:

  • Контекст API: Позволяет передавать данные через дерево компонентов без необходимости передавать их через каждую обертку.

  • Состояние в родительском компоненте: Если состояние необходимо только для одного компонента, можно рассмотреть возможность хранения его в родительском компоненте.

  • Менеджеры состояния: Использование таких библиотек, как Redux или MobX, которые позволяют управлять состоянием на более высоком уровне, избегая передачи пропсов.

Таким образом, prop drilling — это важная концепция в React, которую стоит учитывать при проектировании архитектуры приложения, так как она может влиять на читаемость и удобство работы с кодом.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • React

    React

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

#props

#store

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