'बच्चे ’क्या हैं?
रिएक्ट डॉक्स का कहना है कि आप उन 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>
अपनी सामग्री से घटक को डी-कप करता है और इसे अधिक पुन: प्रयोज्य बनाता है।
संदर्भ: रिएक्ट के प्रॉपर.चिल्ड्रेन के लिए एक त्वरित परिचय