Именованные слоты через свойства объекта
Реализуйте слоты заголовка, тела и подвала, передавая JSX через именованные свойства
«Именованные слоты через свойства объекта» — бесплатный урок React Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения React Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс React Academy содержит 4 уроков всего.
Добро пожаловать
Ограничение дочерних элементов
Слоты через именованные свойства
function Card({ header, body, footer }) {
return (
<div className="card">
<div className="card-header">{header}</div>
<div className="card-body">{body}</div>
<div className="card-footer">{footer}</div>
</div>
);
}
// Usage
<Card
header={<h2>Title</h2>}
body={<p>Content here</p>}
footer={<button>OK</button>}
/>Необязательные слоты
function Card({ header, children, footer }) {
return (
<div>
{header && <div className="header">{header}</div>}
<div className="body">{children}</div>
{footer && <div className="footer">{footer}</div>}
</div>
);
}Сочетание дочерних элементов и именованных слотов
<Dialog
title="Confirm"
actions={<><button>Cancel</button><button>OK</button></>}
>
<p>Are you sure?</p> {/* children = primary slot */}
</Dialog>TypeScript: типизация именованных слотов
interface CardProps {
header?: React.ReactNode;
children: React.ReactNode;
footer?: React.ReactNode;
}Именованные слоты и составные компоненты
Передача компонентов в качестве слотов
function Timeline({ renderItem, items }) {
return (
<ul>
{items.map(item => (
<li key={item.id}>{renderItem(item)}</li>
))}
</ul>
);
}
<Timeline
items={data}
renderItem={item => <EventCard event={item} />}
/>Композиция макета с именованными слотами
Документирование именованных слотов
Быстрая проверка
Повторение
Далее
Часто задаваемые вопросы
Урок «Именованные слоты через свойства объекта» бесплатный?
Да — полный текст урока «Именованные слоты через свойства объекта» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс React Academy, подпишись на CoddyKit PRO. Курс React Academy содержит 4 уроков всего.
Чему я научусь в уроке «Именованные слоты через свойства объекта»?
Реализуйте слоты заголовка, тела и подвала, передавая JSX через именованные свойства Ты практикуешь React Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать React Academy?
Предыдущий опыт не требуется. React Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Именованные слоты через свойства объекта»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке React Academy?
Да. Каждый урок React Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Основы props.children
- Утилиты React.Children
- Именованные слоты через свойства объекта
- Клонирование и добавление props с помощью cloneElement