Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

React useEffect का उपयोग कैसे करें

React में डेवलपमेंट टीम ने React वर्जन 16.8 में Hooks की अवधारणा पेश की। एक React Hook फंक्शन कंपोनेंट में स्टेट और अन्य React फीचर्स के उपयोग की अनुमति देता है। useState हुक के साथ, एक फंक्शन कंपोनेंट को क्लास कंपोनेंट के रूप में फिर से लिखे बिना अपना आंतरिक स्टेट सेट कर सकता है।

React क्लास और फंक्शनल कंपोनेंट्स में अंतर की समीक्षा के लिए इस गाइड को देखें।

React में एक और व्यापक रूप से उपयोग किया जाने वाला हुक useEffect है। useEffect के साथ, साइड इफेक्ट्स (या "इफेक्ट्स") एक फंक्शनल कंपोनेंट के संदर्भ से किए जाते हैं। याद रखें कि साइड इफेक्ट्स जावास्क्रिप्ट फंक्शन्स में भी होते हैं।

साइड इफेक्ट्स तब होते हैं जब एक फंक्शन अपनी बॉडी के बाहर कुछ बदलता है। React में, यह वही बात है और इसमें डेटा फेचिंग, सब्सक्रिप्शन, या React कंपोनेंट्स से पहले DOM बदलना शामिल हो सकता है।

useEffect क्या है?

React हुक useEffect एक फंक्शनल कंपोनेंट को साइड इफेक्ट्स करने की अनुमति देता है। यह React क्लास कंपोनेंट्स में लाइफसाइकिल मेथड्स componentDidMount, componentWillUpdate, और componentWillUnmount के समान फैशन में काम करता है। अधिक विवरण के लिए React लाइफसाइकिल मेथड्स पर इस परिचय को देखें।

इस लेख में, हम देखेंगे कि Hooks का उपयोग कैसे शुरू करें इसका एक बेसिक उदाहरण। इस लेख का उद्देश्य परिचय के रूप में काम करना है, गहन विश्लेषण नहीं। एक बार जब आप React Hooks से परिचित हो जाएं तो useEffect पर इस व्यापक नजर को पढ़ें।

React Hooks सिंटैक्स

useEffect को समझने के लिए, हमें पहले useState हुक के सिंटैक्स पर संक्षेप में जाने की आवश्यकता है। जब Hooks का उपयोग किया जाता है, तो उन्हें ठीक उसी तरह इम्पोर्ट किया जाना चाहिए जैसे React इम्पोर्ट किया जाता है।

import React, { useState, useEffect } from 'react';

अब हम अपने Hooks के साथ अपना फंक्शनल कंपोनेंट परिभाषित कर सकते हैं। यह जावास्क्रिप्ट फंक्शन स्कोप का उपयोग कर रहा है। जब हम फंक्शनल कंपोनेंट के अंदर अपना useEffect हुक परिभाषित करते हैं, तो स्कोप के माध्यम से इसकी स्टेट और प्रॉप्स तक पहुंच होती है। स्कोप पर अधिक के लिए, इस प्राइमर के साथ समीक्षा करें।

81% प्रतिभागियों ने कहा कि बूटकैंप में भाग लेने के बाद उन्हें अपनी टेक जॉब संभावनाओं के बारे में अधिक आत्मविश्वास महसूस हुआ। आज ही बूटकैंप से मैच करवाएं।

औसत बूटकैंप ग्रेजुएट ने करियर ट्रांजिशन में छह महीने से कम समय बिताया, बूटकैंप शुरू करने से लेकर पहली नौकरी ढूंढने तक।

useState सिंटैक्स

स्पष्टता के लिए, आइए हमारे उदाहरण के लिए एक साधारण काउंटर का उपयोग करें। हम DOM में आउटपुट करेंगे कि बटन कितनी बार क्लिक किया गया है। इम्पोर्ट्स के साथ पूरा हमारा फंक्शनल कंपोनेंट इस तरह दिखेगा:

import React, {useState, useEffect} from 'react' import ReactDOM from 'react-dom' const ButtonCounter = () => { return ( <button>Click Me</button> ) } ReactDOM.render( <ButtonCounter />, document.getElementById('container') );

यह हमारे बटन को DOM में रेंडर करता है। useEffect को परिभाषित करने से पहले, हम useState हुक को परिभाषित करके अपना प्रारंभिक स्टेट सेट कर सकते हैं।

const [count, setCount] = useState(0);

इस सिंटैक्स का उपयोग करके, React पहले वेरिएबल को प्रारंभिक स्टेट पर सेट करता है। इस मामले में, वेरिएबल "count" को useState को पास किए गए आर्गुमेंट द्वारा सेट किया जाता है। React ने हमारे count के प्रारंभिक स्टेट को 0 पर सेट कर दिया है। दूसरा वेरिएबल count को अपडेट करने के लिए फंक्शन के रूप में उपयोग किया जाएगा।

अब जब हमने count के प्रारंभिक स्टेट को 0 पर सेट कर दिया है, तो हम अपने setCount फंक्शन का उपयोग स्टेट को अपडेट करने के लिए कर सकते हैं।

const ButtonCounter = () => { const [count, setCount] = useState(0); return ( <div> <p>You clicked the button {count} times</p> <button onClick={() => setCount(count + 1)}>Click Me</button> </div> ) }

हमारे onClick प्रॉपर्टी पर कॉलबैक फंक्शन के रूप में हमारे setCount का उपयोग करके, हम हर बार बटन क्लिक होने पर DOM को अपडेट कर सकते हैं।

React useEffect का उपयोग कैसे करें

इसका मतलब है कि useState के साथ अपना प्रारंभिक स्टेट सेट करते समय परिभाषित हमारा setCount फंक्शन काम कर रहा है! अब जब हमने useState हुक के सिंटैक्स को देख लिया है, तो आइए useEffect को देखें।

useEffect सिंटैक्स

जैसा कि पहले कहा गया है, useEffect साइड इफेक्ट्स के उपयोग को परिभाषित करता है। डेटा फेचिंग और मैन्युअल DOM परिवर्तनों के माध्यम से कंपोनेंट्स में परिवर्तन साइड इफेक्ट्स का गठन करते हैं। useEffect हुक हर बार कंपोनेंट रेंडर होने पर कॉल किया जाता है।

यह React क्लास कंपोनेंट्स में componentDidMount और componentDidUpdate के समान काम करता है। हमारे काउंटर उदाहरण के साथ आगे बढ़ते हुए, हम useEffect को अपने DOM को अपडेट करके हमारे <p> एलिमेंट में एक नाम प्रदर्शित करवाएंगे।

const [count, setCount] = useState(0); const [name, setName] = useState(" "); useEffect(() => { setName(name + "Ryan") }) return ( <div> <p>Hello {name}! You clicked {count} times</p> <button onClick={() => setCount(count + 1)}>Click Me</button> </div> ) }

यह जानबूझकर गलत कोड किया गया है। DOM में जो पुश होता है वह साबित करता है कि useEffect को कंपोनेंट के प्रत्येक रेंडर के साथ कॉल किया जाता है।

React useEffect का उपयोग कैसे करें

यह इसलिए हो रहा है क्योंकि डिफ़ॉल्ट रूप से, useEffect हुक componentDidMount और componentWillUpdate के संयोजन की तरह व्यवहार करता है।

अपने हुक को कस्टमाइज़ करने के लिए ताकि यह केवल तभी रेंडर हो जब कंपोनेंट माउंट हो, हम useEffect को दूसरा आर्गुमेंट भेज सकते हैं। useEffect को दूसरे आर्गुमेंट के रूप में एक खाली ऐरे ([]) पास करके, React जानता है कि useEffect को केवल तभी कॉल करे जब कंपोनेंट माउंट हो।

useEffect(() => { setName(name + "Ryan") }, [])

अब, हमें अपने फंक्शनल कंपोनेंट के माउंट होने पर केवल एक बार स्ट्रिंग "Ryan" प्रदर्शित होती दिखनी चाहिए।

React useEffect का उपयोग कैसे करें

बहुत बढ़िया! Hooks का उपयोग करने की आदत डालने में कुछ समय लगेगा। इसे ध्यान में रखते हुए, आधिकारिक React डॉक्यूमेंटेशन में Hooks के उपयोग पर एक अपडेटेड गाइड है। इसे यहां पढ़ें।

निष्कर्ष

React useEffect हुक के इस परिचय में, हमने सीखा कि Hooks क्या हैं और उनका उपयोग कैसे करें। हमने एक प्राथमिक उदाहरण के साथ useState और useEffect Hooks के सिंटैक्स को भी कवर किया।

Hooks के संभावित उपयोग यहां कवर किए गए से कहीं आगे जाते हैं। इसे पढ़ने और अपने कोड में कुछ समय बिताने के बाद, लिंक किए गए संसाधनों पर जाकर React Hooks पर अपनी पकड़ गहरी करें। हालांकि क्लास कंपोनेंट्स कहीं नहीं जा रहे, Hooks React का भविष्य हैं, इसलिए उन पर सूचित और अपडेट रहें!

  1. React Native में ScrollView कंपोनेंट क्या है और इसका उपयोग कैसे करें? React Native में ScrollView कंपोनेंट क्या है और इसका उपयोग कैसे करें?

    ScrollView एक स्क्रॉलिंग कंटेनर है जो कई कंपोनेंट्स और व्यूज़ को समायोजित कर सकता है। यह रिएक्ट नेटिव में कोर कंपोनेंट्स में से एक है और इसका उपयोग करके आप वर्टिकली और हॉरिजॉन्टली दोनों तरह से स्क्रॉल कर सकते हैं। ScrollView उस प्लेटफॉर्म के आधार पर अपने नेटिव समकक्ष को मैप करेगा जिस पर यह चल रहा

  1. React Native में SectionList कंपोनेंट क्या है और इसका उपयोग कैसे करें React Native में SectionList कंपोनेंट क्या है और इसका उपयोग कैसे करें

    एक इंटरफेस जो सेक्शन में सूचियों को रेंडर करने में मदद करता है। SectionList की कुछ महत्वपूर्ण विशेषताएं हैं: सूची के लिए हेडर/फुटर सपोर्ट सेक्शन के लिए हेडर/फुटर सपोर्ट स्क्रॉल लोडिंग पुल टू रिफ्रेश पूरी तरह से क्रॉस-प्लेटफॉर्म बेसिक SectionList कंपोनेंट इस प्रकार दिखता है: <SectionList sectio

  1. React Native में वीडियो को बैकग्राउंड के रूप में उपयोग करना - चरण-दर-चरण गाइड React Native में वीडियो को बैकग्राउंड के रूप में उपयोग करना - चरण-दर-चरण गाइड

    इस पोस्ट में, हम React Native में एक backgroundVideo बनाने जा रहे हैं। यदि आपने अभी React Native के साथ शुरुआत की है तो मेरा लेख देखें कि React Native के साथ मोबाइल ऐप्स बनाना शुरू करने के लिए आपको क्या जानने की आवश्यकता है। डेमो: Peleton होम स्क्रीन बैकग्राउंड वीडियो ऐप के UI में एक अच्छा प्रभाव ज