data-reactid
विशेषता एक कस्टम ताकि React विशिष्ट डोम के भीतर उसके घटकों की पहचान कर सकते हैं इस्तेमाल किया विशेषता है।
यह महत्वपूर्ण है क्योंकि प्रतिक्रिया अनुप्रयोग rendered at the server के साथ-साथ ग्राहक भी हो सकते हैं। आंतरिक रूप से प्रतिक्रिया आपके आवेदन को बनाने वाले डीओएम नोड्स के संदर्भों का प्रतिनिधित्व करता है (सरलीकृत संस्करण नीचे है)।
{
id: '.1oqi7occu80',
node: DivRef,
children: [
{
id: '.1oqi7occu80.0',
node: SpanRef,
children: [
{
id: '.1oqi7occu80.0.0',
node: InputRef,
children: []
}
]
}
]
}
सर्वर और ग्राहक और पूरे घटक पेड़ की एक धारावाहिक संस्करण भेजने के संभावित महंगा है के बीच वास्तविक वस्तु संदर्भ साझा करने के लिए कोई तरीका नहीं है।जब सर्वर पर एप्लिकेशन प्रस्तुत किया जाता है और क्लाइंट पर प्रतिक्रिया लोड होती है, तो उसके पास केवल एक ही डेटा data-reactid
विशेषताएँ होती है।
<div data-reactid='.loqi70ccu80'>
<span data-reactid='.loqi70ccu80.0'>
<input data-reactid='.loqi70ccu80.0' />
</span>
</div>
इसे वापस डेटा संरचना में परिवर्तित करने में सक्षम होना चाहिए। जिस तरह से यह अद्वितीय data-reactid
विशेषताओं के साथ है। इसे घटक पेड़ को फुलाया जाता है।
आप यह भी देख सकते हैं कि यदि ग्राहक पक्ष में प्रतिक्रिया प्रस्तुत करता है, तो यह data-reactid
विशेषता का उपयोग करता है, भले ही इसे इसके संदर्भ खोने की आवश्यकता न हो। कुछ ब्राउज़रों में यह आपके एप्लिकेशन को .innerHTML
का उपयोग करके डीओएम में डालता है, फिर यह प्रदर्शन बूस्ट के रूप में सीधे घटक पेड़ को फुलाता है।
अन्य रोचक अंतर यह है कि ग्राहक के पक्ष में प्रदान की गई प्रतिक्रिया आईडी एक वृद्धिशील पूर्णांक प्रारूप होगा (जैसे .0.1.4.3
), सर्वर गाया वाले एक यादृच्छिक स्ट्रिंग (जैसे .loqi70ccu80.1.4.3
के रूप में) के साथ उपसर्ग किया जाएगा, जबकि। ऐसा इसलिए है क्योंकि एप्लिकेशन को एकाधिक सर्वरों में प्रस्तुत किया जा सकता है और यह महत्वपूर्ण है कि कोई टकराव न हो। ग्राहक पक्ष में केवल एक प्रतिपादन प्रक्रिया होती है, जिसका अर्थ है कि अद्वितीय आईडी सुनिश्चित करने के लिए काउंटर का उपयोग किया जा सकता है।
React 15 uses document.createElement
instead, इसलिए ग्राहक द्वारा प्रदान किए गए मार्कअप में इन विशेषताओं को और शामिल नहीं किया जाएगा।
'डेटा-रिएक्टिड' कस्टम प्रतिक्रिया है [प्रतिक्रिया जावास्क्रिप्ट लाइब्रेरी] (http://facebook.github.io/react/) द्वारा उपयोग की जाती है। जिसे फेसबुक और इंस्टाग्राम के साथ उपयोग करने के लिए विकसित किया गया है। – amit
कृपया ध्यान दें कि सभी उत्तरों समझा रहे हैं कि कौन सी कस्टम डेट-विशेषताएं हैं और यह नहीं बताती कि डेटा-रिएक्टिड क्या है। इसका उपयोग प्रतिक्रिया तत्व वर्ग उदाहरण के साथ डोम ऑब्जेक्ट को संदर्भित करने में सक्षम होने के लिए किया जाता है। – adrianj98
@ adrianj98, आपने अपनी टिप्पणी को इसके बजाय उत्तर के रूप में क्यों नहीं पोस्ट किया? – Octopus