Що навіть "діти"?
Документи React кажуть, що ви можете використовувати props.childrenдля компонентів, які представляють "загальні коробки" і які не знають своїх дітей достроково. Для мене це не дуже зрозуміло. Я впевнений, що для деяких це визначення має ідеальний сенс, але це не було для мене.
Моє просте пояснення того, що this.props.childrenробить, це те, що воно використовується для відображення того, що ви включаєте між тегами, що відкриваються та закриваються, при виклику компонента.
Простий приклад:
Ось приклад функції без стану, яка використовується для створення компонента. Знову ж таки, оскільки це функція, thisключового слова немає, тому просто використовуйтеprops.children
const Picture = (props) => {
return (
<div>
<img src={props.src}/>
{props.children}
</div>
)
}
Цей компонент містить <img>те, що отримує деякі, propsа потім воно відображається {props.children}.
Щоразу, коли цей компонент викликається {props.children}, також буде відображатися, і це лише посилання на те, що знаходиться між відкриваючими та закривальними тегами компонента.
//App.js
render () {
return (
<div className='container'>
<Picture key={picture.id} src={picture.src}>
//what is placed here is passed as props.children
</Picture>
</div>
)
}
Замість виклику компонента з тегом, що самозакривається, <Picture />якщо ви викликаєте його, він буде повним відкриттям та закриттям тегів, <Picture> </Picture>ви можете розмістити більше коду між ним.
Це відключає <Picture>компонент від його вмісту і робить його більш багаторазовим.
Довідка: Швидке вступ до реквізиту React's діти