Компоненты высшего порядка (HOC)
Оборачивайте компоненты, чтобы добавлять свойства, защищать маршруты или добавлять журналирование через фабрики HOC.
«Компоненты высшего порядка (HOC)» — бесплатный урок React Academy на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.
Добро пожаловать
Что такое HOC
// HOC signature
function withEnhancement(WrappedComponent) {
return function Enhanced(props) {
// add behaviour here
return <WrappedComponent {...props} extraProp="value" />;
};
}HOC для защиты авторизации
function withAuth(Component) {
return function AuthGuard(props) {
const isLoggedIn = useAuth();
if (!isLoggedIn) return <Navigate to="/login" />;
return <Component {...props} />;
};
}
const ProtectedPage = withAuth(DashboardPage);HOC для журналирования
function withLogger(Component) {
return function Logged(props) {
console.log('[render]', Component.displayName, props);
return <Component {...props} />;
};
}Передача пропов дальше
return function HOC(props) {
return <WrappedComponent {...props} injectedProp={value} />;
};Настройка displayName
function withAuth(Component) {
function AuthGuard(props) { /* ... */ }
AuthGuard.displayName = 'withAuth(' + (Component.displayName || Component.name) + ')';
return AuthGuard;
}Передача ссылок
function withStyle(Component) {
return React.forwardRef(function (props, ref) {
return <Component ref={ref} {...props} className="styled" />;
});
}HOC, рендер-пропы и хуки
Ад обёрток
HOC в реальных библиотеках
Быстрая проверка
Итоги
Далее
Изучай React с ИИ-репетитором — бесплатно
Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.
- Курсы
- 88
- Уроки
- 324
Часто задаваемые вопросы
Урок «Компоненты высшего порядка (HOC)» бесплатный?
Да — полный текст урока «Компоненты высшего порядка (HOC)» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.
Чему я научусь в уроке «Компоненты высшего порядка (HOC)»?
Оборачивайте компоненты, чтобы добавлять свойства, защищать маршруты или добавлять журналирование через фабрики HOC. Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать React Academy?
Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.
Сколько времени занимает урок «Компоненты высшего порядка (HOC)»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке React Academy?
Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Паттерн Render Props
- Компоненты высшего порядка (HOC)
- HOC, Render Props или пользовательские хуки
- Рефакторинг HOC в пользовательский хук