2017-10-01 12 views
14

मैं() में प्रलेखन पढ़ा है, लेकिन मैं वास्तव में हाइड्रेट के बीच का अंतर समझ में नहीं आया() और प्रस्तुत करना प्रतिक्रिया 16.प्रतिक्रिया 16 में हाइड्रेट() और रेंडर() के बीच क्या अंतर है?

मैं जानता हूँ कि hydate() एसएसआर और क्लाइंट-साइड renderring गठबंधन करने के लिए प्रयोग किया जाता है।

क्या कोई बता सकता है कि हाइड्रेटिंग क्या है और फिर ReactDOM में क्या अंतर है?

+0

@tophar द्वारा दिए गए उत्तर के नीचे सही है, यदि आप इसे और अधिक खोजना चाहते हैं तो आप इसे https://reactjs.org/docs/react-dom.html पढ़ सकते हैं – jack123

उत्तर

16

ReactDOMServer डॉक्स से (जोर मेरा):

आप एक नोड पहले से ही इस सर्वर-प्रदान की गई मार्कअप है पर ReactDOM.hydrate() कॉल करते हैं, प्रतिक्रिया यह सुरक्षित रखेगा और केवल ईवेंट हैंडलर्स देते हैं, करने के लिए आप की अनुमति देता है एक बहुत ही पहले प्रदर्शन करने वाला अनुभव है।

बोल्ड में टेक्स्ट मुख्य अंतर है। शुरुआती डीओएम और वर्तमान डोम के बीच कोई अंतर होने पर render आपके नोड को बदल सकता है। hydrate केवल ईवेंट हैंडलर संलग्न करेगा।

Github issue that introduced hydrate as a separate API से

:

इस अपने प्रारंभिक डोम <div id="container"><div class="spinner">Loading...</div></div> है और उसके बाद एक क्लाइंट-साइड करने के लिए केवल (हाइड्रेशन नहीं) प्रस्तुत करना इच्छुक ReactDOM.render(<div class="myapp"><span>App</span></div>, document.getElementById('container')) को कॉल करते हैं। फिर आप <div id="container"><div class="spinner"><span>App</span></div></div> के साथ समाप्त होते हैं। क्योंकि हम गुणों को पैच नहीं करते हैं।

बस FYI कारण वे गुण पैच नहीं किया

है ... यह वास्तव में सामान्य जलयोजन मोड में हाइड्रेट और एक गैर एसएसआर पेड़ में प्रस्तुत करना नीचे प्रारंभिक धीमा करने के लिए धीमी गति से किया जाएगा ।

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