वापस स्वागत है दोस्तों!
आज हम यूज़कॉन्टेक्स्ट नामक रिएक्ट हुक की बुनियादी बातों पर चर्चा कर रहे हैं। यूज़कॉन्टेक्स्ट एक शक्तिशाली उपकरण है जो यूज़स्टेट से एक कदम आगे बढ़कर एक वैश्विक-जैसा राज्य बनाता है जो सीधे प्रॉप्स पास किए बिना बच्चों और पोते-पोतियों के घटकों तक जानकारी पहुंचा सकता है।
लेकिन मैं खुद से आगे निकल रहा हूं।
यदि आप यूज़स्टेट से परिचित नहीं हैं, तो आगे बढ़ें और पहले मेरा पिछला लेख पढ़ें, फिर वापस आएं और चकित होने के लिए तैयार हो जाएं!
'useState' का उपयोग कैसे करें: https://dev.to/deborah/how-to-use-state-in-react-2pah
अब जब आप 'यूजस्टेट' पर गति प्राप्त कर चुके हैं, तो आइए 'यूजकॉन्टेक्स्ट' पर ध्यान दें!
useContext उस डेटा के लिए आदर्श है जिसे वैश्विक दायरे में रखने की आवश्यकता है (जैसे कि एक उपयोगकर्ता नाम जो किसी को एप्लिकेशन की संपूर्णता में लॉग इन रखेगा) लेकिन यह सभी के लिए अंतिम शॉर्टकट नहीं है बच्चों के घटकों को प्रॉप्स पास करना।
हालाँकि, यूज़कॉन्टेक्स्ट हमें सीधे प्रॉप्स पास किए बिना डेटा पास करने की अनुमति देता है और इसलिए यह बेहद मददगार होता है जब हमें ऐसे डेटा का सामना करना पड़ता है जिसे कई बच्चों के घटकों द्वारा एक्सेस करने की आवश्यकता होती है या संपूर्ण एप्लिकेशन में उपलब्ध कराया जाता है।
useContext को चालू करने के लिए, हमें दो कदम उठाने होंगे: सबसे पहले, हमें एक संदर्भ ऑब्जेक्ट ('createContext') बनाने की आवश्यकता है, फिर हमें हुक 'useContext' का उपयोग करके प्रदाता के माध्यम से मूल्य तक पहुंचने की आवश्यकता है .
आपको बेहतर जानकारी देने के लिए कि यूज़कॉन्टेक्स्ट क्या है और इसका उपयोग कैसे करना है, निम्नलिखित उदाहरणों को सरल बनाया गया है, लेकिन आपको पता होना चाहिए कि createContext को अक्सर अपनी स्वयं की एक अलग फ़ाइल में घोषित किया जाता है। हालाँकि, मैं 'Parent.js' की तुलना एक विशिष्ट 'App.js' फ़ाइल (घटक पदानुक्रम के शीर्ष पर एक घटक) से कर रहा हूँ। Parent.js वह जगह है जहां मैंने अपने सभी स्टेट वेरिएबल्स, उन फंक्शन्स को परिभाषित किया है जो उन स्टेट वेरिएबल्स को अपडेट करते हैं, और यूज़इफेक्ट का उपयोग करके डेटाबेस में लाते हैं। मैंने इस स्पष्टीकरण को सरल बनाने के लिए अपनी स्वयं की फ़ाइल बनाने के बजाय अपने शीर्ष-स्तरीय घटक में createContext घोषित करने का विकल्प चुना ताकि आप Context की मूल अवधारणाओं को बेहतर ढंग से समझ सकें।
export Context = React.createContext();
'संदर्भ' एक संदर्भ वस्तु है जो 'createContext' को कॉल करके बनाई गई है। संदर्भ ऑब्जेक्ट में प्रदाता नामक एक घटक होता है जिसे अब हम कॉल करने में सक्षम होंगे और फिर उन चर और कार्यों को पास कर सकेंगे जिन्हें हम अपने 'वैश्विक' स्तर पर रखना चाहते हैं।
return(// Other JSX & the child components we want to hand Context to. );
'Context.Provider' को पूरा करने के लिए, हमें 'Provider' को एक मान भी प्रदान करना होगा। यह वह जगह है जहां हम किसी भी और सभी वेरिएबल्स और फ़ंक्शंस के साथ एक ऑब्जेक्ट पास करेंगे जिन्हें हम चाइल्ड घटकों में 'संदर्भ' के साथ कॉल करेंगे:
return(// Other JSX & the child components we want to hand Context to. );
यह ध्यान रखना बहुत महत्वपूर्ण है कि हमें उन सभी चाइल्ड घटकों को टैग के बीच में रखना होगा जो वेरिएबल्स और फ़ंक्शंस का उपयोग करेंगे। उदाहरण के लिए:
return();
ध्यान दें कि जब तक हम प्रॉप्स को 'वैल्यू' के अंदर रखते हैं, तब तक हमें किसी भी प्रॉप्स को सीधे चाइल्ड घटकों (जैसे हम 'यूजस्टेट' के साथ करेंगे) में पास करने की आवश्यकता नहीं है।
अब जब हमने createContext का उपयोग कर लिया है और अपने सभी वैश्विक-आइटम को 'Context.Provider' को भेज दिया है, तो हम चाइल्ड घटकों पर आगे बढ़ने और यह देखने के लिए तैयार हैं कि 'Context' का उपयोग कैसे करें।
import Context from ‘./Parent.js’;
import React, { useContext } from ‘react’; import Context from ‘./Parent.js’;
import React, { useContext } from ‘react’; import Context from ‘./Parent.js’; function Child(){ const { example, setExample } = useContext(Context) // The rest of our code
इस कोड में हम डिस्ट्रक्चरिंग असाइनमेंट को दर्शाने के लिए घुंघराले ब्रेसिज़ {} का उपयोग कर रहे हैं। यह कहने का एक शानदार तरीका है कि हम कॉन्टेक्स्ट में संग्रहीत कई वेरिएबल्स और फ़ंक्शंस को कॉल करने में सक्षम हैं। हम 'Context' को 'useContext' में भी पास कर रहे हैं ताकि हम Context.Provider (जिसे हमने 'Parent.js' में घोषित किया है) में परिभाषित मानों तक पहुंच सकें।
const expId = example.id;
या
setExample(newExample);
बधाई हो! अब आपके पास createContext और useContext के साथ आरंभ करने के लिए सभी उपकरण हैं। आप समझते हैं कि यूज़कॉन्टेक्स्ट आपको कुछ 'वैश्विक स्थिति' बनाने की अनुमति देता है जो सीधे चाइल्ड घटकों के माध्यम से प्रॉप्स पास किए बिना घटकों में चर और फ़ंक्शन पास कर सकता है।
हमने आपके अनुप्रयोगों में संदर्भ को कार्यान्वित करने के लिए आवश्यक छह चरणों पर भी गौर किया। अब आप createContext और useContext के साथ कोडिंग शुरू करने के लिए तैयार हैं, लेकिन यदि आपको कभी भी त्वरित-प्रारंभ मार्गदर्शिका की आवश्यकता हो, तो यहां जाएं:
export const Context = React.createContext();
//Child components
import React, { useContext } from ‘react’;
import Context from “./Parent.js’;
const { example, handleExample } = useContext(Context);
एक आखिरी नोट, यदि आप इस विषय में गहराई से जाना चाहते हैं, तो यहां आधिकारिक दस्तावेज़ीकरण संसाधन हैं जिनका मैंने उपयोगकॉन्टेक्स्ट सीखने और इस ब्लॉग को लिखने के दौरान भी संदर्भित किया था:
आधिकारिक दस्तावेज़ीकरण:
https://react.dev/reference/react/createContext
विरासत आधिकारिक दस्तावेज़ीकरण, उपयोग संदर्भ को समझने के लिए अभी भी कुछ हद तक उपयोगी है:https://legacy.reactjs.org/docs/context.html
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3