Что такое children в React
children — это специальный пропс в React, который автоматически содержит всё, что находится внутри JSX-тега компонента при его вызове.
Он позволяет передавать вложенный контент из родителя в дочерний компонент, не указывая его явно в списке пропсов.
Как это работает?
Пример
function Wrapper({ children }) {
return <div className="box">{children}</div>;
}
export default function App() {
return (
<Wrapper>
<h2>Привет!</h2>
<p>Я внутри компонента Wrapper</p>
</Wrapper>
);
}
Компонент Wrapper
получает в пропсе children
вот этот блок:
<>
<h2>Привет!</h2>
<p>Я внутри компонента Wrapper</p>
</>
Зачем нужен children?
- Композиция компонентов: позволяет создавать обёртки (
layout
,card
,modal
). - Повышает переиспользуемость и гибкость.
- Позволяет отделить контейнер от контента.
Примеры использования
Карточка
function Card({ children }) {
return <div className="card">{children}</div>;
}
<Card>
<h3>Hack Frontend</h3>
<p>Описание карточки</p>
</Card>
Слот под контент:
function Layout({ children }) {
return (
<>
<Header />
<main>{children}</main>
<Footer />
</>
);
}
<Layout>
<p>Главная страница</p>
</Layout>
Советы
children
может быть:
- строкой
- элементом
- массивом элементов
- функцией (в случае render props)
Вывод:
Проп children
— это способ вкладывать JSX внутрь компонента, что делает React гибким, модульным и отлично подходит для создания переиспользуемых UI-решений.