Получить доступ

Композиция компонентов

Основа

children, слоты, render props и HOC — как переиспользовать интерфейс без наследования.

В React не наследуют компоненты — их составляют.

function Card({ title, actions, children }) {
  return (
    <section className="card">
      <header>{title}{actions}</header>
      {children}
    </section>
  );
}

<Card title="Корзина" actions={<ClearButton />}>
  <CartItems />
</Card>

Что важно знать

  • children и именованные «слоты» через props — основной способ строить обёртки: модальные окна, раскладки, карточки.
  • Композиция решает «проброс props через пять уровней» чаще, чем контекст.
  • Render props (<List renderItem={…}/>) и HOC (withAuth(Component)) — старые приёмы переиспользования логики; сейчас их почти везде заменили пользовательские хуки, но в старом коде и библиотеках они встречаются.
  • Составные компоненты (<Tabs><Tabs.List/><Tabs.Panel/></Tabs>) с общим контекстом — паттерн UI-библиотек.

Документация

← Вся карта «React»

Закрытая бета

Знать тему — половина дела

На живом собеседовании sotto слышит вопрос интервьюера и показывает короткий ответ и план. Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем