लेगेसी कंपोनेंट्स को मैनेज करने और एप्लिकेशन परफॉर्मेंस को बेहतर बनाने के लिए React के experimental_LegacyHidden API को जानें। व्यावहारिक उदाहरणों के साथ इसका उपयोग, लाभ और सीमाएं सीखें।
React experimental_LegacyHidden को समझना: डेवलपर्स के लिए एक विस्तृत गाइड
रिएक्ट लगातार विकसित हो रहा है, डेवलपर अनुभव और एप्लिकेशन परफॉर्मेंस को बेहतर बनाने के उद्देश्य से नई सुविधाएँ और API पेश कर रहा है। ऐसा ही एक एक्सपेरिमेंटल API है experimental_LegacyHidden, जो डेवलपर्स को आधुनिक रिएक्ट एप्लिकेशन में लेगेसी कंपोनेंट्स को मैनेज करने और धीरे-धीरे माइग्रेट करने में मदद करने के लिए डिज़ाइन किया गया है। यह गाइड experimental_LegacyHidden, इसके लाभ, इसका उपयोग कैसे करें, और इसकी सीमाओं का एक व्यापक अवलोकन प्रदान करता है।
experimental_LegacyHidden क्या है?
experimental_LegacyHidden एक रिएक्ट कंपोनेंट है जो आपको विशिष्ट शर्तों के आधार पर लेगेसी कंपोनेंट्स को छिपाने या दिखाने की अनुमति देता है, मुख्य रूप से नए रिएक्ट पैटर्न या संस्करणों में प्रोग्रेसिव माइग्रेशन के दौरान। इसका प्राथमिक उपयोग पुराने, संभावित रूप से कम प्रदर्शन वाले कोड से नए, ऑप्टिमाइज़ किए गए कार्यान्वयन में उपयोगकर्ता अनुभव को बाधित किए बिना सहजता से संक्रमण करना है।
इसे एक गेटकीपर के रूप में सोचें जो आपके लेगेसी कोड की दृश्यता को नियंत्रित करता है। यह आपको धीरे-धीरे नई सुविधाएँ शुरू करने और पुरानी सुविधाओं को धीरे-धीरे बंद करने की अनुमति देता है, जिससे आपके उपयोगकर्ताओं के लिए एक सहज संक्रमण सुनिश्चित होता है।
experimental_LegacyHidden का उपयोग क्यों करें?
आपके रिएक्ट प्रोजेक्ट्स में experimental_LegacyHidden का उपयोग करने पर विचार करने के कई ठोस कारण हैं:
- प्रोग्रेसिव माइग्रेशन: यह लेगेसी कंपोनेंट्स को फंक्शन कंपोनेंट्स, हुक्स और कॉन्करेंट रेंडरिंग जैसी नई रिएक्ट सुविधाओं में धीरे-धीरे माइग्रेट करने की सुविधा देता है। यह ब्रेकिंग परिवर्तनों के जोखिम को कम करता है और पुनरावृत्तीय सुधारों की अनुमति देता है।
- परफॉर्मेंस ऑप्टिमाइज़ेशन: लेगेसी कंपोनेंट्स आधुनिक रिएक्ट रेंडरिंग पैटर्न के लिए ऑप्टिमाइज़ नहीं हो सकते हैं। जब उनकी आवश्यकता न हो तो उन्हें छिपाने से एप्लिकेशन के समग्र प्रदर्शन में सुधार हो सकता है, विशेष रूप से शुरुआती लोड और बाद के अपडेट के दौरान।
- कम जटिलता: लेगेसी कंपोनेंट्स को अलग करके, आप कोडबेस को सरल बना सकते हैं और इसे बनाए रखना और रिफैक्टर करना आसान बना सकते हैं।
- एक्सपेरिमेंटेशन: यह आपको अपने एप्लिकेशन की मौजूदा कार्यक्षमता को प्रभावित किए बिना नई सुविधाओं और डिज़ाइनों के साथ प्रयोग करने में सक्षम बनाता है। आप
experimental_LegacyHiddenकंपोनेंट का उपयोग करके आसानी से लेगेसी और नए कार्यान्वयन के बीच स्विच कर सकते हैं। - बेहतर उपयोगकर्ता अनुभव: एक सहज और क्रमिक माइग्रेशन एक बेहतर उपयोगकर्ता अनुभव में बदल जाता है। संक्रमण के दौरान उपयोगकर्ताओं को बग या प्रदर्शन समस्याओं का सामना करने की संभावना कम होती है।
experimental_LegacyHidden का उपयोग कैसे करें
experimental_LegacyHidden का उपयोग करना अपेक्षाकृत सीधा है। यहाँ एक बुनियादी उदाहरण है:
बुनियादी कार्यान्वयन
सबसे पहले, आपको react से experimental_LegacyHidden कंपोनेंट को इम्पोर्ट करना होगा। ध्यान दें कि यह एक एक्सपेरिमेंटल API है और इसके लिए आपके रिएक्ट कॉन्फ़िगरेशन (उदाहरण के लिए, आपकी webpack.config.js या .babelrc फ़ाइल में) में एक्सपेरिमेंटल सुविधाओं को सक्षम करने की आवश्यकता हो सकती है।
experimental_LegacyHidden एक सिंगल प्रॉप स्वीकार करता है: unstable_hidden। यह प्रॉप एक बूलियन मान है जो यह निर्धारित करता है कि कंपोनेंट के चिल्ड्रन छिपे हुए हैं या नहीं। जब unstable_hidden true होता है, तो चिल्ड्रन छिपे होते हैं; जब यह false होता है, तो वे दिखाई देते हैं।
import React from 'react';
import { unstable_LegacyHidden as LegacyHidden } from 'react';
function MyComponent() {
const [showLegacy, setShowLegacy] = React.useState(false);
return (
);
}
function LegacyComponent() {
return यह एक लेगेसी कंपोनेंट है।
;
}
export default MyComponent;
इस उदाहरण में, LegacyComponent को LegacyHidden में लपेटा गया है। unstable_hidden प्रॉप को showLegacy स्टेट वेरिएबल द्वारा नियंत्रित किया जाता है, जिसे एक बटन क्लिक द्वारा टॉगल किया जाता है। यह आपको लेगेसी कंपोनेंट को गतिशील रूप से दिखाने या छिपाने की अनुमति देता है।
कंडीशनल रेंडरिंग
आप लेगेसी कंपोनेंट को कब छिपाना है या दिखाना है, यह निर्धारित करने के लिए अधिक जटिल तर्क का उपयोग कर सकते हैं। उदाहरण के लिए, आप इसे उपयोगकर्ता के ब्राउज़र, डिवाइस या फीचर फ्लैग के आधार पर छिपाना चाह सकते हैं।
import React from 'react';
import { unstable_LegacyHidden as LegacyHidden } from 'react';
function MyComponent() {
const isMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
return (
{isMobile ? (
) : (
)}
);
}
function LegacyComponent() {
return यह डेस्कटॉप के लिए एक लेगेसी कंपोनेंट है।
;
}
function NewMobileComponent() {
return यह मोबाइल के लिए ऑप्टिमाइज़ किया गया एक नया कंपोनेंट है।
;
}
export default MyComponent;
इस उदाहरण में, LegacyComponent केवल डेस्कटॉप डिवाइस पर दिखाया गया है। मोबाइल उपयोगकर्ताओं को इसके बजाय NewMobileComponent दिखाई देगा। यह आपको लेगेसी कोड से धीरे-धीरे माइग्रेट करते हुए विभिन्न उपकरणों के लिए एक अनुकूलित अनुभव प्रदान करने की अनुमति देता है।
फीचर फ्लैग के साथ एकीकरण
फीचर फ्लैग नई सुविधाओं के रोलआउट को प्रबंधित और नियंत्रित करने के लिए एक शक्तिशाली उपकरण हैं। आप नए कंपोनेंट्स को धीरे-धीरे पेश करने और पुराने को बंद करने के लिए experimental_LegacyHidden के साथ उनका उपयोग कर सकते हैं।
उदाहरण के लिए, मान लें कि आपके पास useNewSearch नामक एक फीचर फ्लैग है। आप इस फ्लैग का उपयोग यह निर्धारित करने के लिए कर सकते हैं कि नया सर्च कंपोनेंट दिखाना है या लेगेसी सर्च कंपोनेंट।
import React from 'react';
import { unstable_LegacyHidden as LegacyHidden } from 'react';
// मान लें कि आपके पास फीचर फ्लैग का मान प्राप्त करने के लिए एक फ़ंक्शन है
function useFeatureFlag(flagName) {
// यह एक प्लेसहोल्डर है, एक वास्तविक एप्लिकेशन में, आप एक उचित फीचर फ्लैग लाइब्रेरी का उपयोग करेंगे
// जैसे LaunchDarkly, Split.io, या समकक्ष।
const [flagValue, setFlagValue] = React.useState(false);
React.useEffect(() => {
// API या localStorage से फीचर फ्लैग लाने का अनुकरण करें
setTimeout(() => {
const value = localStorage.getItem(flagName) === 'true';
setFlagValue(value);
}, 500);
}, [flagName]);
return flagValue;
}
function MyComponent() {
const useNewSearch = useFeatureFlag('useNewSearch');
return (
{useNewSearch ? (
) : (
)}
);
}
function LegacySearchComponent() {
return यह लेगेसी सर्च कंपोनेंट है।
;
}
function NewSearchComponent() {
return यह नया सर्च कंपोनेंट है।
;
}
export default MyComponent;
इस उदाहरण में, useFeatureFlag हुक useNewSearch फीचर फ्लैग का मान प्राप्त करता है। यदि फ्लैग सक्षम है, तो NewSearchComponent दिखाया जाता है; अन्यथा, LegacySearchComponent दिखाया जाता है, जिसे LegacyHidden में लपेटा गया है। प्रारंभ में, `useFeatureFlag` स्थानीय भंडारण से स्थिति पढ़ता है, एक फीचर फ्लैग सेवा का अनुकरण करता है।
experimental_LegacyHidden का उपयोग करने के लाभ
experimental_LegacyHidden का उपयोग करने के लाभ महत्वपूर्ण हैं, खासकर जब बड़े और जटिल एप्लिकेशन से निपटते हैं:
- सरल कोडबेस: लेगेसी कंपोनेंट्स को अलग करके, आप कोडबेस को अधिक प्रबंधनीय और समझने में आसान बना सकते हैं। यह डेवलपर्स पर संज्ञानात्मक भार को कम करता है और नई सुविधाओं और बग फिक्स को पेश करना आसान बनाता है।
- बेहतर प्रदर्शन: जब लेगेसी कंपोनेंट्स की आवश्यकता नहीं होती है तो उन्हें छिपाने से एप्लिकेशन के समग्र प्रदर्शन में सुधार हो सकता है। यह विशेष रूप से उन अनुप्रयोगों के लिए महत्वपूर्ण है जो जावास्क्रिप्ट पर बहुत अधिक निर्भर हैं।
- कम जोखिम: क्रमिक माइग्रेशन ब्रेकिंग परिवर्तनों को पेश करने के जोखिम को कम करता है। आप सभी उपयोगकर्ताओं के लिए उन्हें रोल आउट करने से पहले एक नियंत्रित वातावरण में नई सुविधाओं और कंपोनेंट्स का परीक्षण कर सकते हैं।
- उन्नत डेवलपर अनुभव: डेवलपर्स लेगेसी कोडबेस की जटिलताओं में फंसे बिना नई सुविधाओं पर काम कर सकते हैं। इससे उनकी उत्पादकता और नौकरी से संतुष्टि में सुधार हो सकता है।
- बेहतर उपयोगकर्ता अनुभव: एक सहज और क्रमिक माइग्रेशन एक बेहतर उपयोगकर्ता अनुभव में बदल जाता है। संक्रमण के दौरान उपयोगकर्ताओं को बग या प्रदर्शन समस्याओं का सामना करने की संभावना कम होती है।
सीमाएं और विचार
जबकि experimental_LegacyHidden कई लाभ प्रदान करता है, इसकी सीमाओं और संभावित कमियों से अवगत होना महत्वपूर्ण है:
- एक्सपेरिमेंटल API: एक एक्सपेरिमेंटल API के रूप में,
experimental_LegacyHiddenभविष्य के रिएक्ट संस्करणों में परिवर्तन या हटाने के अधीन है। इसका मतलब है कि आपको इसका उपयोग सावधानी से करना चाहिए और यदि आवश्यक हो तो अपने कोड को अपडेट करने के लिए तैयार रहना चाहिए। - बढ़ी हुई जटिलता की संभावना: यदि सावधानी से उपयोग नहीं किया गया, तो
experimental_LegacyHiddenकोडबेस में जटिलता जोड़ सकता है। यह सुनिश्चित करना महत्वपूर्ण है कि कंपोनेंट्स को छिपाने और दिखाने का तर्क अच्छी तरह से परिभाषित और समझने में आसान हो। - रिफैक्टरिंग का प्रतिस्थापन नहीं:
experimental_LegacyHiddenरिफैक्टरिंग का विकल्प नहीं है। यह एक अस्थायी समाधान है जिसका उपयोग नए रिएक्ट पैटर्न और संस्करणों में धीरे-धीरे माइग्रेशन की सुविधा के लिए किया जाना चाहिए। अंततः, आपको लेगेसी कोड को पूरी तरह से हटाने का लक्ष्य रखना चाहिए। - ओवरहेड: यद्यपि आम तौर पर हल्का होता है,
experimental_LegacyHiddenका उपयोग करने के साथ एक मामूली ओवरहेड जुड़ा होता है। यह ओवरहेड आमतौर पर नगण्य होता है, लेकिन इसके बारे में पता होना महत्वपूर्ण है, खासकर प्रदर्शन-महत्वपूर्ण अनुप्रयोगों में। - डीबगिंग: यदि आप इस बारे में सावधान नहीं हैं कि आप
experimental_LegacyHiddenका उपयोग कैसे करते हैं तो डीबगिंग अधिक जटिल हो सकती है। यह सत्यापित करने के लिए कि कौन सा कंपोनेंट वास्तव में रेंडर किया जा रहा है, लॉग करना या रिएक्ट डेवटूल्स का उपयोग करना सुनिश्चित करें।
experimental_LegacyHidden का उपयोग करने के लिए सर्वोत्तम प्रथाएं
experimental_LegacyHidden के लाभों को अधिकतम करने और जोखिमों को कम करने के लिए, इन सर्वोत्तम प्रथाओं का पालन करें:
- इसका रणनीतिक रूप से उपयोग करें:
experimental_LegacyHiddenका उपयोग केवल तभी करें जब यह वास्तव में आवश्यक हो। इसे तत्वों को छिपाने और दिखाने के लिए एक सामान्य-उद्देश्य वाले कंपोनेंट के रूप में उपयोग न करें। - इसे सरल रखें: कंपोनेंट्स को छिपाने और दिखाने का तर्क सरल और समझने में आसान होना चाहिए। जटिल परिस्थितियों और नेस्टेड
experimental_LegacyHiddenकंपोनेंट्स से बचें। - अपने कोड का दस्तावेजीकरण करें: प्रत्येक
experimental_LegacyHiddenकंपोनेंट के उद्देश्य और उन शर्तों का स्पष्ट रूप से दस्तावेजीकरण करें जिनके तहत यह अपने चिल्ड्रन को छिपाता या दिखाता है। - पूरी तरह से परीक्षण करें: यह सुनिश्चित करने के लिए कि
experimental_LegacyHiddenकंपोनेंट अपेक्षा के अनुरूप काम कर रहा है, अपने कोड का पूरी तरह से परीक्षण करें। एज केस और संभावित प्रदर्शन समस्याओं पर ध्यान दें। - प्रदर्शन की निगरानी करें:
experimental_LegacyHiddenको पेश करने के बाद अपने एप्लिकेशन के प्रदर्शन की निगरानी करें ताकि यह सुनिश्चित हो सके कि यह किसी भी अप्रत्याशित मंदी का कारण नहीं बन रहा है। - हटाने की योजना बनाएं: याद रखें कि
experimental_LegacyHiddenएक अस्थायी समाधान है। लेगेसी कंपोनेंट्स को पूरी तरह से माइग्रेट करने के बाद इसे हटाने की योजना बनाएं।
वास्तविक दुनिया के उदाहरण
आइए कुछ वास्तविक दुनिया के उदाहरण देखें कि विभिन्न परिदृश्यों में experimental_LegacyHidden का उपयोग कैसे किया जा सकता है।
उदाहरण 1: क्लास कंपोनेंट्स से फंक्शनल कंपोनेंट्स में माइग्रेट करना
कल्पना कीजिए कि आपके पास कई क्लास कंपोनेंट्स के साथ एक बड़ा कोडबेस है जिसे आप हुक्स के साथ फंक्शनल कंपोनेंट्स में माइग्रेट करना चाहते हैं। आप क्लास कंपोनेंट्स को धीरे-धीरे उनके फंक्शनल समकक्षों से बदलने के लिए experimental_LegacyHidden का उपयोग कर सकते हैं।
import React from 'react';
import { unstable_LegacyHidden as LegacyHidden } from 'react';
// लेगेसी क्लास कंपोनेंट
class LegacyProfile extends React.Component {
constructor(props) {
super(props);
this.state = { name: 'Old Profile' };
}
render() {
return नमस्ते, {this.state.name} (Class Component)
;
}
}
// हुक्स के साथ नया फंक्शनल कंपोनेंट
function NewProfile() {
const [name, setName] = React.useState('New Profile');
return नमस्ते, {name} (Functional Component)
;
}
function MyComponent({ useNew }) {
return (
{useNew ? (
) : (
)}
);
}
export default MyComponent;
इस उदाहरण में, LegacyProfile एक क्लास कंपोनेंट है, और NewProfile हुक्स के साथ एक फंक्शनल कंपोनेंट है। MyComponent useNew प्रॉप के आधार पर लेगेसी कंपोनेंट या नए कंपोनेंट को सशर्त रूप से रेंडर करने के लिए experimental_LegacyHidden का उपयोग करता है।
उदाहरण 2: नई सुविधाओं का A/B परीक्षण
experimental_LegacyHidden का उपयोग नई सुविधाओं के A/B परीक्षण के लिए किया जा सकता है। आप कुछ उपयोगकर्ताओं को नई सुविधा और बाकी को लेगेसी सुविधा दिखा सकते हैं। यह आपको सभी के लिए नई सुविधा शुरू करने से पहले डेटा और फीडबैक इकट्ठा करने की अनुमति देता है।
import React from 'react';
import { unstable_LegacyHidden as LegacyHidden } from 'react';
// मान लें कि आपके पास यह निर्धारित करने के लिए एक फ़ंक्शन है कि उपयोगकर्ता A/B परीक्षण समूह में है या नहीं
function isInABTestGroup() {
// अपनी A/B परीक्षण तर्क को यहां लागू करें (जैसे, कुकी या उपयोगकर्ता आईडी का उपयोग करके)
// इस उदाहरण के लिए, हम बस एक यादृच्छिक बूलियन मान लौटाएंगे
return Math.random() < 0.5;
}
function LegacyButton() {
return ;
}
function NewButton() {
return ;
}
function MyComponent() {
const showNewButton = isInABTestGroup();
return (
{showNewButton ? (
) : (
)}
);
}
export default MyComponent;
इस उदाहरण में, isInABTestGroup फ़ंक्शन यह निर्धारित करता है कि उपयोगकर्ता A/B परीक्षण समूह में है या नहीं। यदि उपयोगकर्ता समूह में है, तो NewButton दिखाया जाता है; अन्यथा, LegacyButton दिखाया जाता है, जिसे LegacyHidden में लपेटा गया है।
उदाहरण 3: एक रीडिज़ाइन का क्रमिक रोलआउट
किसी वेबसाइट को फिर से डिज़ाइन करते समय, आप साइट के विभिन्न अनुभागों में नए डिज़ाइन को धीरे-धीरे शुरू करने के लिए experimental_LegacyHidden का उपयोग कर सकते हैं। यह आपको रीडिज़ाइन के प्रभाव की निगरानी करने और आवश्यकतानुसार समायोजन करने की अनुमति देता है।
import React from 'react';
import { unstable_LegacyHidden as LegacyHidden } from 'react';
function LegacyHeader() {
return लेगेसी हेडर ;
}
function NewHeader() {
return नया हेडर डिज़ाइन ;
}
function MyComponent({ useNewHeader }) {
return (
{useNewHeader ? (
) : (
)}
मुख्य सामग्री
);
}
export default MyComponent;
इस उदाहरण में, LegacyHeader पुराने हेडर डिज़ाइन का प्रतिनिधित्व करता है, और NewHeader नए डिज़ाइन का प्रतिनिधित्व करता है। MyComponent useNewHeader प्रॉप के आधार पर लेगेसी हेडर या नए हेडर को सशर्त रूप से रेंडर करने के लिए experimental_LegacyHidden का उपयोग करता है।
experimental_LegacyHidden के विकल्प
जबकि experimental_LegacyHidden उपयोगी हो सकता है, रिएक्ट में लेगेसी कंपोनेंट्स को प्रबंधित करने के लिए आप अन्य दृष्टिकोण अपना सकते हैं:
- कंडीशनल रेंडरिंग: आप विशिष्ट शर्तों के आधार पर कंपोनेंट्स को दिखाने या छिपाने के लिए मानक कंडीशनल रेंडरिंग तकनीकों (जैसे,
ifस्टेटमेंट्स, टर्नरी ऑपरेटर्स) का उपयोग कर सकते हैं। यह दृष्टिकोणexperimental_LegacyHiddenका उपयोग करने से सरल है लेकिन जटिल परिदृश्यों के लिए उतना लचीला नहीं हो सकता है। - कंपोनेंट कंपोज़िशन: आप नए कंपोनेंट्स बनाने के लिए कंपोनेंट कंपोज़िशन का उपयोग कर सकते हैं जो लेगेसी कंपोनेंट्स को लपेटते या प्रतिस्थापित करते हैं। यह दृष्टिकोण आपको धीरे-धीरे नई कार्यक्षमता पेश करते हुए मौजूदा कोड का पुन: उपयोग करने की अनुमति देता है।
- रिफैक्टरिंग: सबसे सीधा दृष्टिकोण बस लेगेसी कोड को नए रिएक्ट पैटर्न और संस्करणों का उपयोग करने के लिए रिफैक्टर करना है। यह एक समय लेने वाली प्रक्रिया हो सकती है, लेकिन यह लेगेसी कोड को खत्म करने और कोडबेस की समग्र गुणवत्ता में सुधार करने का सबसे प्रभावी तरीका है।
- कोड स्प्लिटिंग: हालांकि कंपोनेंट्स को छिपाने से सीधे संबंधित नहीं है, कोड स्प्लिटिंग केवल उस कोड को लोड करके प्रदर्शन में सुधार करने में मदद कर सकता है जिसकी किसी विशेष व्यू या सुविधा के लिए आवश्यकता होती है। यह कई लेगेसी कंपोनेंट्स वाले बड़े अनुप्रयोगों के लिए विशेष रूप से उपयोगी हो सकता है। डायनेमिक इम्पोर्ट (`import()`) कंपोनेंट्स को लेज़ी लोड कर सकते हैं, जिससे शुरुआती लोड समय में सुधार होता है।
निष्कर्ष
experimental_LegacyHidden एक शक्तिशाली उपकरण है जो आपको आधुनिक रिएक्ट एप्लिकेशन में लेगेसी कंपोनेंट्स को प्रबंधित करने और धीरे-धीरे माइग्रेट करने में मदद कर सकता है। यह आपको धीरे-धीरे नई सुविधाएँ शुरू करने, प्रदर्शन में सुधार करने और कोडबेस को सरल बनाने की अनुमति देता है। हालाँकि, इसका रणनीतिक रूप से उपयोग करना और इसकी सीमाओं से अवगत रहना महत्वपूर्ण है। याद रखें कि experimental_LegacyHidden रिफैक्टरिंग का विकल्प नहीं है, और लेगेसी कंपोनेंट्स को पूरी तरह से माइग्रेट करने के बाद आपको इसे हटाने का लक्ष्य रखना चाहिए।
experimental_LegacyHidden के लाभों, सीमाओं और सर्वोत्तम प्रथाओं को समझकर, आप अपने रिएक्ट प्रोजेक्ट्स की गुणवत्ता और रखरखाव में सुधार के लिए इसका प्रभावी ढंग से उपयोग कर सकते हैं और अंततः अपने वैश्विक दर्शकों को एक बेहतर उपयोगकर्ता अनुभव प्रदान कर सकते हैं।
एक्सपेरिमेंटल API और सर्वोत्तम प्रथाओं पर नवीनतम जानकारी के लिए हमेशा आधिकारिक रिएक्ट दस्तावेज़ीकरण और सामुदायिक संसाधनों से परामर्श करना याद रखें।
अस्वीकरण: चूंकि experimental_LegacyHidden एक एक्सपेरिमेंटल API है, इसलिए इसका व्यवहार और उपलब्धता रिएक्ट के भविष्य के संस्करणों में बदल सकती है। उत्पादन में इसका उपयोग करने से पहले हमेशा नवीनतम दस्तावेज़ीकरण से सत्यापित करें।