Apa yang dimaksud dengan 'anak-anak'?
Dokumen React mengatakan bahwa Anda dapat menggunakan props.children
komponen yang mewakili 'kotak umum' dan yang tidak mengenal anak-anaknya sebelumnya. Bagi saya, itu tidak menjelaskan semuanya. Saya yakin bagi sebagian orang, definisi itu masuk akal tetapi tidak bagi saya.
Penjelasan sederhana saya tentang apa yang this.props.children
dilakukannya adalah itu digunakan untuk menampilkan apa pun yang Anda sertakan di antara tag pembuka dan penutup saat menjalankan sebuah komponen.
Contoh sederhana:
Berikut adalah contoh fungsi stateless yang digunakan untuk membuat komponen. Sekali lagi, karena ini adalah fungsi, tidak ada this
kata kunci jadi gunakan sajaprops.children
const Picture = (props) => {
return (
<div>
<img src={props.src}/>
{props.children}
</div>
)
}
Komponen ini berisi <img>
yang menerima beberapa props
dan kemudian ditampilkan {props.children}
.
Kapan pun komponen ini dipanggil {props.children}
juga akan ditampilkan dan ini hanya referensi ke apa yang ada di antara tag pembuka dan penutup komponen.
//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>
)
}
Alih-alih memanggil komponen dengan tag penutup sendiri, <Picture />
jika Anda memanggilnya, Anda akan <Picture> </Picture>
dapat menempatkan lebih banyak kode di antara komponen tersebut dengan tag pembuka dan penutup penuh .
Ini memisahkan <Picture>
komponen dari kontennya dan membuatnya lebih dapat digunakan kembali.
Referensi: Pengenalan singkat ke props.children React