तो चलो कहते हैं कि मैं एक घटक ImageGrid
कहा जाता है और यह नीचे के रूप में परिभाषित किया गया है चलो:React.js: क्या अभी भी जेएसएक्स का उपयोग करने के लिए बाल घटकों को नामित करना संभव है?
window.ImageGrid = React.createClass({
render: function() {
return (
<div className="image-grid">
<ImageGridItem />
</div>
);
}
});
आप देख सकते हैं यह भी शामिल है एक बच्चे ImageGridItem
बुलाया घटक प्रतिक्रिया होती है। जो नीचे परिभाषित किया गया है।
window.ImageGridItem = React.createClass({
render: function() {
return (
<div className="item-container">something</div>
);
}
});
यह रूप में लंबे समय के रूप में दोनों सीधे window
की संपत्ति हैं ठीक काम करता है। लेकिन यह बहुत ही भयानक है इसलिए उदाहरण के लिए window.myComponents
के नामस्थान के तहत मैं अपने सभी प्रतिक्रिया घटकों को समूहबद्ध करना चाहता हूं।
window.myComponents.ImageGrid = React.createClass({...});
window.myComponents.ImageGridItem = React.createClass({...});
समस्या अब है कि के रूप में ImageGrid
<ImageGridItem />
को संदर्भित करता है यह() फ़ंक्शन प्रस्तुत करना है, इस के जे एस संस्करण ImageGridItem()
के रूप में जे एस के लिए बाहर संकलित हो जाता है निश्चित रूप से जो है:
तो परिभाषाओं को बदलने अपरिभाषित है क्योंकि यह वास्तव में myComponents.ImageGridItem()
है और शिकायत प्रतिक्रिया करता है कि यह इसे नहीं मिल सकता है।
हाँ मुझे पता है मैं तो बस शामिल है कि घटक के लिए JSX लिख नहीं सकता और मैन्युअल myComponents.ImageGridItem({attr: 'val'})
है, लेकिन मैं वास्तव में के रूप में यह बहुत आसान पढ़ सकते हैं और साथ विकसित करने के लिए है JSX एचटीएमएल वाक्य रचना शॉर्टकट का उपयोग करना पसंद करते हैं।
क्या बच्चों के लिए <ImageGridItem />
वाक्यविन्यास का उपयोग करते हुए इसे काम करने के लिए कोई तरीका है? और यदि जेएसएक्स के भीतर जेएस नेमस्पेस को परिभाषित करना संभव नहीं है?
लेकिन यदि आप मॉड्यूल सिस्टम का उपयोग करते हैं, तो क्या होगा यदि आपके पास एक मॉड्यूल से कई प्रतिक्रिया वर्ग लौटाए जा रहे हैं? इस मामले में आप प्रत्येक व्यक्तिगत वर्ग का संदर्भ कैसे देंगे? मैंने इस सटीक मुद्दे के बारे में यहां एक संबंधित प्रश्न पोस्ट किया है: http://stackoverflow.com/q/23739166/26510 –
प्रत्येक वर्ग को एक अलग मॉड्यूल में विभाजित करने का सबसे आसान तरीका है। –
पुल अनुरोध विलय कर दिया गया है, इसलिए यदि आप मास्टर रेपो से नवीनतम प्राप्त करते हैं, तो आप अच्छे होंगे! –