Що навіть "діти"?
Документи 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 діти