2015-10-21 11 views
11

तो, जब आप लोअरकेस पहले अक्षर के साथ प्रतिक्रिया में एक घटक घोषित करते हैं, तो यह त्रुटि को फेंकने के बिना दिखाई नहीं देता है। जब आप घटक नाम को कैपिटल करते हैं, तो यह काम करता है।प्रतिक्रिया में घटकों को पूंजीकृत करने की आवश्यकता क्यों है?

इस तरह इसे लागू किया गया है? मौजूदा एचटीएमएल तत्वों के साथ टकराव से बचने के लिए, या यह एक बग है?

var test = React.createClass({ 
    render: function() { 
    return (
     <div>Test</div> 
    ); 
    } 
}); 

var Screen = React.createClass({ 
    render: function() { 
    return (
     <div> 
     <test/> 
     </div> 
    ); 
    } 
}); 

जब मैं Test करने के लिए test बदलने के लिए, यह काम करता है:

var Test = React.createClass({ 
    render: function() { 
    return (
     <div>Test</div> 
    ); 
    } 
}); 

var Screen = React.createClass({ 
    render: function() { 
    return (
     <div> 
     <Test/> 
     </div> 
    ); 
    } 
}); 

उत्तर

12

some react release notes

JSX टैग नाम सम्मेलन से (लोअरकेस नाम में निर्मित घटकों का उल्लेख, पूंजीकृत नाम कस्टम घटकों को देखें)।

+10

मुझे लगता है कि सम्मेलन तोड़ना संभव होगा। यदि सम्मेलन तोड़ने से कोड टूट जाता है, तो यह एक सम्मेलन से अधिक है। – Oliver

+0

शायद क्योंकि यह जावा जैसे अन्य ओओपी वर्ग नामकरण सम्मेलनों का पालन करता है – Brett84c

0

प्रतिक्रिया वास्तव में सिर्फ केस संवेदनशील होता है।

यहां एक प्रासंगिक जिथब मुद्दा है जहां कोई भी एक ही प्रश्न पूछता है। https://github.com/reactjs/React.NET/issues/76

+0

डीओएम केस असंवेदनशील (HTML मोड में) है। – Quentin

+0

वह जिथब मुद्दा डीओएम नोड्स के गुणों के बारे में बात कर रहा है, तत्व नाम नहीं। – Quentin

संबंधित मुद्दे