O que é mesmo 'crianças'?
Os documentos do React dizem que você pode usar props.childrenem componentes que representam 'caixas genéricas' e que não conhecem seus filhos com antecedência. Para mim, isso realmente não esclareceu as coisas. Tenho certeza de que para alguns essa definição faz todo o sentido, mas não para mim.
Minha explicação simples do que this.props.childrenfaz é que ele é usado para exibir tudo o que você inclui entre as tags de abertura e fechamento ao invocar um componente.
Um exemplo simples:
Aqui está um exemplo de função sem estado usada para criar um componente. Novamente, uma vez que esta é uma função, não há thispalavra-chave, então apenas useprops.children
const Picture = (props) => {
return (
<div>
<img src={props.src}/>
{props.children}
</div>
)
}
Este componente contém um <img>que está recebendo alguns propse depois é exibido {props.children}.
Sempre que este componente for invocado {props.children}também será exibido e esta é apenas uma referência ao que está entre as tags de abertura e fechamento do componente.
//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>
)
}
Em vez de invocar o componente com uma tag de fechamento automático, <Picture />se você invocar as tags de abertura e fechamento completas, <Picture> </Picture>você pode colocar mais código entre ele.
Isso separa o <Picture>componente de seu conteúdo e o torna mais reutilizável.
Referência: uma introdução rápida aos props.children de React