एक वरिष्ठ डेवलपर के रूप में, आपसे रिएक्ट में इवेंट हैंडलिंग की गहरी समझ होने की उम्मीद की जाती है। इसमें न केवल मूल बातें जानना शामिल है बल्कि कुशल, रखरखाव योग्य और स्केलेबल एप्लिकेशन बनाने के लिए उन्नत तकनीकों में महारत हासिल करना भी शामिल है। यह आलेख रिएक्ट में इवेंट हैंडलिंग की जटिलताओं को शामिल करता है, जिसमें इवेंट हैंडलर जोड़ना, सिंथेटिक इवेंट को समझना, इवेंट हैंडलर को तर्क पारित करना, कस्टम इवेंट बनाना और इवेंट डेलिगेशन का लाभ उठाना शामिल है।
जेएसएक्स में इवेंट हैंडलर जोड़ना सीधा और नियमित HTML में इवेंट को संभालने के समान है, लेकिन रिएक्ट की अनूठी वास्तुकला के कारण कुछ महत्वपूर्ण अंतर हैं।
ईवेंट हैंडलर जोड़ने का उदाहरण:
import React from 'react'; const handleClick = () => { console.log('Button clicked!'); }; const App = () => { return (); }; export default App;
इस उदाहरण में, जब भी बटन क्लिक किया जाता है तो हैंडलक्लिक फ़ंक्शन को कॉल किया जाता है। JSX में ऑनक्लिक विशेषता का उपयोग इवेंट हैंडलर को निर्दिष्ट करने के लिए किया जाता है।
रिएक्ट घटनाओं को संभालने के लिए सिंथेटिक इवेंट नामक एक प्रणाली का उपयोग करता है। सिंथेटिक ईवेंट ब्राउज़र के मूल ईवेंट सिस्टम के चारों ओर एक क्रॉस-ब्राउज़र आवरण हैं। यह सुनिश्चित करता है कि ईवेंट एक एकीकृत एपीआई प्रदान करते हुए विभिन्न ब्राउज़रों में लगातार व्यवहार करते हैं।
एक सिंथेटिक घटना का उदाहरण:
import React from 'react'; const handleInputChange = (event) => { console.log('Input value:', event.target.value); }; const App = () => { return (); }; export default App;
इस उदाहरण में, हैंडलइनपुटचेंज फ़ंक्शन जब भी इनपुट फ़ील्ड बदलता है तो उसका मान लॉग करता है। इवेंट पैरामीटर एक सिंथेटिक इवेंट है जो सभी ब्राउज़रों में लगातार इवेंट गुण प्रदान करता है।
इवेंट हैंडलर को तर्क पास करना एक एरो फ़ंक्शन या बाइंड विधि का उपयोग करके किया जा सकता है, जो इवेंट को अधिक लचीले तरीके से संभालने के लिए महत्वपूर्ण है।
तीर फ़ंक्शन का उपयोग करने वाला उदाहरण:
import React from 'react'; const handleClick = (message) => { console.log(message); }; const App = () => { return (); }; export default App;
बाइंड विधि का उपयोग करने वाला उदाहरण:
import React from 'react'; const handleClick = (message) => { console.log(message); }; const App = () => { return (); }; export default App;
दोनों विधियां आपको इवेंट हैंडलिंग में लचीलापन प्रदान करते हुए हैंडलक्लिक फ़ंक्शन में अतिरिक्त तर्क पारित करने की अनुमति देती हैं।
रिएक्ट में कस्टम ईवेंट बनाना अधिक जटिल इंटरैक्शन के लिए आवश्यक है जो मानक ईवेंट द्वारा कवर नहीं किए जाते हैं। कस्टम इवेंट कस्टमइवेंट कंस्ट्रक्टर और डिस्पैचइवेंट विधि का उपयोग करके बनाए और भेजे जा सकते हैं।
कस्टम ईवेंट बनाने और भेजने का उदाहरण:
import React, { useEffect, useRef } from 'react'; const CustomEventComponent = () => { const buttonRef = useRef(null); useEffect(() => { const handleCustomEvent = (event) => { console.log(event.detail.message); }; const button = buttonRef.current; button.addEventListener('customEvent', handleCustomEvent); return () => { button.removeEventListener('customEvent', handleCustomEvent); }; }, []); const handleClick = () => { const customEvent = new CustomEvent('customEvent', { detail: { message: 'Custom event triggered!' }, }); buttonRef.current.dispatchEvent(customEvent); }; return ( ); }; export default CustomEventComponent;
इस उदाहरण में, बटन क्लिक करने पर कस्टमइवेंट नाम का एक कस्टम इवेंट बनाया और भेजा जाता है। इवेंट हैंडलर कस्टम इवेंट को सुनता है और इवेंट के विवरण संदेश को लॉग करता है।
इवेंट डेलिगेशन एक ऐसी तकनीक है जहां एक एकल इवेंट श्रोता का उपयोग कई तत्वों के लिए इवेंट प्रबंधित करने के लिए किया जाता है। यह सूचियों या तालिकाओं में घटनाओं को कुशलतापूर्वक प्रबंधित करने के लिए विशेष रूप से उपयोगी है।
इवेंट प्रतिनिधिमंडल का उदाहरण:
import React from 'react'; const handleClick = (event) => { if (event.target.tagName === 'BUTTON') { console.log(`Button ${event.target.textContent} clicked!`); } }; const App = () => { return (); }; export default App;
इस उदाहरण में, div तत्व पर एक एकल ईवेंट हैंडलर सभी बटनों के लिए क्लिक ईवेंट प्रबंधित करता है। इवेंट हैंडलर यह निर्धारित करने के लिए इवेंट.लक्ष्य की जांच करता है कि कौन सा बटन क्लिक किया गया था और तदनुसार एक संदेश लॉग करता है।
const App = () => { const handleClick = () => { console.log('Button clicked!'); }; return (); };
const handleSubmit = (event) => { event.preventDefault(); // Handle form submission }; return;
useEffect(() => { const handleResize = () => { console.log('Window resized'); }; window.addEventListener('resize', handleResize); return () => { window.removeEventListener('resize', handleResize); }; }, []);
const debounce = (func, delay) => { let timeoutId; return (...args) => { clearTimeout(timeoutId); timeoutId = setTimeout(() => { func.apply(null, args); }, delay); }; }; useEffect(() => { const handleScroll = debounce(() => { console.log('Scroll event'); }, 300); window.addEventListener('scroll', handleScroll); return () => { window.removeEventListener('scroll', handleScroll); }; }, []);
const List = () => { const handleClick = (event) => { if (event.target.tagName === 'LI') { console.log(`Item ${event.target.textContent} clicked!`); } }; return (
इंटरैक्टिव और उच्च-प्रदर्शन एप्लिकेशन बनाने के लिए रिएक्ट में घटनाओं को कुशलतापूर्वक संभालना महत्वपूर्ण है। इवेंट हैंडलर जोड़ने, सिंथेटिक इवेंट का उपयोग करने, इवेंट हैंडलर को तर्क पारित करने, कस्टम इवेंट बनाने और इवेंट डेलिगेशन का लाभ उठाने की तकनीकों में महारत हासिल करके, आप मजबूत और स्केलेबल एप्लिकेशन बना सकते हैं। सर्वोत्तम प्रथाओं को लागू करने से यह सुनिश्चित होता है कि आपका कोड जटिलता बढ़ने के साथ-साथ रखरखाव योग्य और क्रियाशील बना रहता है। एक वरिष्ठ डेवलपर के रूप में, इन उन्नत तकनीकों का उपयोग करने की आपकी क्षमता आपकी परियोजनाओं की सफलता और आपकी टीम की प्रभावशीलता में महत्वपूर्ण योगदान देगी।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3