В React вы можете отправить содержимое, расположенное между открывающим и закрывающим тегами компонента, другому компоненту.
Такое содержимое доступно в другом компоненте через свойство props.children.
Пример
Родительский компонент отправляет контент между открывающими и закрывающими тегами дочерних компонентов Son и Daughter:
// Компонент Сын
function Son(props) {
return (
<div style={{ background: 'lightgreen' }}>
<h2>Сын</h2>
<div>{props.children}</div>
</div>
);
}
// Компонент Дочь
function Daughter(props) {
const { brand, model } = props;
return (
<div style={{ background: 'lightblue' }}>
<h2>Дочь</h2>
<div>{props.children}</div>
</div>
);
}
// Родительский компонент
function Parent() {
return (
<div>
<h1>Мои двое детей</h1>
<Son>
<p>
Это было написано в родительском компоненте, но отображено частью компонента сына.
</p>
</Son>
<Daughter>
<p>
Это было написано в родительском компоненте, но отображено частью компонента дочери.
</p>
</Daughter>
</div>
);
}
createRoot(document.getElementById('root')).render(<Parent />);
Как работает пример:
- Контент внутри тега
<Son>отправляется именно этому компоненту и выводится черезprops.children. - Аналогичным образом содержимое внутри тега
<Daughter>попадает внутрь этого компонента и отображается там же.
Таким образом, с помощью props.children можно динамически управлять вложенным содержимым, которое приходит из родительских компонентов.