React Academy · पाठ

चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन

उपयोगकर्ता जिन घटकों के साथ पहले इंटरैक्ट करता है, उनके हाइड्रेशन को प्राथमिकता देने के लिए React 18 के चयनात्मक हाइड्रेशन का उपयोग करें।

पाठ 3, कुल 4 में से13 चरण

चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन, CoddyKit पर React Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह React Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

चयनात्मक हाइड्रेशन क्या है

चयनात्मक हाइड्रेशन रिएक्ट 18 की ऐसी सुविधा है जो रिएक्ट को पूरे पृष्ठ का JavaScript डाउनलोड होने की प्रतीक्षा किए बिना, JavaScript कोड आते ही घटकों का हाइड्रेशन शुरू करने देती है। कोड-विभाजित प्रत्येक स्वतंत्र खंड अपने बंडल के लोड होते ही हाइड्रेट होता है, सभी खंड एक साथ नहीं।

रिएक्ट 18: एक साथ पूरा हाइड्रेशन नहीं

रिएक्ट 18 से पहले, हाइड्रेशन “सब या कुछ भी नहीं” था—रिएक्ट को पूरे JavaScript को डाउनलोड करके पूरे वृक्ष को हाइड्रेट करना पड़ता था, तभी पृष्ठ का कोई भी भाग इंटरैक्टिव बनता था। रिएक्ट 18 इस सीमा को हटा देता है: वृक्ष के हिस्से अपने कोड और डेटा के उपलब्ध होते ही स्वतंत्र रूप से हाइड्रेट होते हैं।

उपयोगकर्ता सहभागिता हाइड्रेशन को प्राथमिकता देती है

यदि उपयोगकर्ता ऐसी सस्पेंस सीमा पर क्लिक करता है या उसके साथ सहभागिता करता है जिसका हाइड्रेशन अभी नहीं हुआ है, तो रिएक्ट किसी भी अन्य लंबित हाइड्रेशन कार्य से पहले उस उपवृक्ष के हाइड्रेशन को तुरंत प्राथमिकता देता है। इसका अर्थ है कि उपयोगकर्ता जिस चीज़ का उपयोग करना चाहता है, वह सबसे पहले इंटरैक्टिव बनती है, चाहे वह दस्तावेज़ के क्रम में कहीं भी हो।

React.lazy और सस्पेंस से कोड-विभाजन

React.lazy को डायनेमिक आयातों और सस्पेंस सीमाओं के साथ मिलाने से कोड-विभाजित घटकों के लिए चयनात्मक हाइड्रेशन संभव होता है। ब्राउज़र पहले मुख्य JS बंडल डाउनलोड करता है और शेल को तुरंत हाइड्रेट करता है। प्रत्येक आवश्यकता पर लोड होने वाला घटक अपना खंड डाउनलोड होते ही हाइड्रेट होता है—जैसे-जैसे ब्राउज़र उन्हें प्राप्त करता है।

उपयोगकर्ता अनुभव पर प्रभाव

नतीजा यह है कि स्क्रीन के ऊपरी भाग की सामग्री नीचे वाले भाग के JavaScript को डाउनलोड किए जाने से पहले इंटरैक्टिव हो जाती है। उपयोगकर्ता नेविगेशन और प्रमुख खंड के CTA के साथ तब भी सहभागिता कर सकता है जब टिप्पणी फ़ीड और सिफारिश विजेट अपने JavaScript खंड लोड कर रहे हों।

प्रभाव को मापना

चयनात्मक हाइड्रेशन कुल अवरोधन समय (TBT) घटाता है—हाइड्रेशन प्रदर्शन का मुख्य मापदंड। क्रोम DevTools के Performance टैब में 50ms से अधिक समय लेने वाले लंबे कार्य लाल रंग में उभारे जाते हैं। चयनात्मक हाइड्रेशन से पहले, आपको पूरे हाइड्रेशन के लिए 300ms का एक लंबा कार्य दिखाई दे सकता है; इसके बाद, आपको समय के साथ अंतराल पर चलने वाले कई छोटे कार्य दिखाई देते हैं।

शीर्ष-स्तरीय तत्पर आयातों से बचना

वह प्रतिरूप-विरोधी तरीका जो चयनात्मक हाइड्रेशन को कमजोर करता है, आपके ऐप के शीर्ष पर सभी घटकों का आयात करना है: import Footer from './Footer'। यह ब्राउज़र को किसी भी हाइड्रेशन के शुरू होने से पहले Footer का कोड डाउनलोड, पार्स और निष्पादित करने के लिए बाध्य करता है। नीचे वाले भाग के घटकों के शीर्ष-स्तरीय आयातों को React.lazy + गतिशील आयातों से बदलें।

नीचे वाले भाग की सामग्री के लिए गतिशील आयात

प्रारंभिक दृश्य के नीचे दिखाई देने वाले घटकों के लिए const Footer = React.lazy(() => import('./Footer')) का उपयोग करें। उन्हें एक सरल वैकल्पिक दृश्य वाले सस्पेंस में लपेटें। ब्राउज़र ऊपर दिखाई देने वाले भाग का हाइड्रेशन पूरा होने तक Footer का बंडल प्राप्त करने को कम प्राथमिकता देता है, जिससे स्वाभाविक रूप से TBT बेहतर होता है।

स्ट्रीमिंग और चयनात्मक हाइड्रेशन के बीच संबंध

स्ट्रीमिंग और चयनात्मक हाइड्रेशन एक-दूसरे के पूरक हैं: स्ट्रीमिंग FCP और LCP सुधारने के लिए HTML खंड भेजती है, जबकि चयनात्मक हाइड्रेशन TTI और TBT सुधारने के लिए JavaScript खंडों को संसाधित करता है। मिलकर वे प्रदर्शन के “सामग्री जल्दी दिखाएँ” और “इसे जल्दी इंटरैक्टिव बनाएँ” दोनों आयामों को संबोधित करते हैं।

चयनात्मक हाइड्रेशन और रिएक्ट सर्वर घटक

रिएक्ट सर्वर घटक चयनात्मक हाइड्रेशन को और आगे ले जाते हैं: सर्वर घटक क्लाइंट के लिए बिल्कुल भी JavaScript उत्पन्न नहीं करते। केवल “use client” से चिह्नित क्लाइंट घटकों को हाइड्रेट करना पड़ता है। इससे हाइड्रेट किए जाने वाले JavaScript की कुल मात्रा घटती है और चयनात्मक हाइड्रेशन और भी प्रभावी बनता है।

चयनात्मक हाइड्रेशन की व्यावहारिक संरचना

एक व्यावहारिक प्रतिरूप: स्ट्रीमिंग HTML के लिए renderToPipeableStream का उपयोग करें, हाइड्रेशन मोड सक्षम करने के लिए पृष्ठ को एक रूट hydrateRoot कॉल में लपेटें (createRoot के बजाय), नीचे वाले सभी खंडों के लिए React.lazy का उपयोग करें और प्रत्येक खंड को सस्पेंस सीमा में लपेटें। बाकी काम रिएक्ट अपने आप संभाल लेता है।

उपयोगकर्ता सहभागिता और चयनात्मक हाइड्रेशन

रिएक्ट 18 में उपयोगकर्ता सहभागिता चयनात्मक हाइड्रेशन की प्राथमिकता को कैसे प्रभावित करती है?

पाठ का पुनरावलोकन

चयनात्मक हाइड्रेशन रिएक्ट को पूरे बंडल की प्रतीक्षा करने के बजाय JavaScript आते ही घटक उपवृक्षों को क्रमशः हाइड्रेट करने देता है। उपयोगकर्ता की सहभागिताएँ लक्षित उपवृक्ष के हाइड्रेशन को प्राथमिकता देती हैं। नीचे वाले भाग की सामग्री के लिए React.lazy और गतिशील आयातों को सस्पेंस सीमाओं के साथ मिलाने पर यह क्रमिक प्रतिरूप संभव होता है। चयनात्मक हाइड्रेशन और स्ट्रीमिंग SSR एक-दूसरे के पूरक तकनीकें हैं, जो मिलकर सामग्री पहुँचाने और इंटरैक्टिव प्रदर्शन दोनों को बेहतर बनाती हैं।

शुरुआत निःशुल्क

एआई शिक्षक के साथ React सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
88
पाठ
324

अक्सर पूछे जाने वाले प्रश्न

क्या “चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन” पाठ निःशुल्क है?

हाँ—“चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और React Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। React Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन” में मैं क्या सीखूँगा?

उपयोगकर्ता जिन घटकों के साथ पहले इंटरैक्ट करता है, उनके हाइड्रेशन को प्राथमिकता देने के लिए React 18 के चयनात्मक हाइड्रेशन का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ React Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या React Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर React Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस React Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर React Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. React 18 स्ट्रीमिंग: renderToPipeableStream कैसे काम करता है
  2. Suspense सीमाएँ और स्ट्रीमिंग प्राथमिकता
  3. चयनात्मक हाइड्रेशन के साथ क्रमिक हाइड्रेशन
  4. स्ट्रीमिंग प्रभाव का मापन: FCP, TTI और LCP
← React Academy पर वापस जाएँ