'เด็ก' คืออะไร?
เอกสาร 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 เด็ก ๆ