रिएक्ट का यूज़कॉलबैक और यूज़मेमो हुक आपके एप्लिकेशन में प्रदर्शन को अनुकूलित करने के लिए महत्वपूर्ण हैं। यह समझना कि उनका उपयोग कब और कैसे करना है, आपको अनावश्यक री-रेंडर से बचा सकता है और यह सुनिश्चित कर सकता है कि आपका ऐप सुचारू रूप से चले। इस लेख में, हम यूज़कॉलबैक और यूज़मेमो को प्रभावी ढंग से उपयोग करने के वास्तविक दुनिया के उदाहरणों पर गौर करेंगे।
यूज़कॉलबैक हुक कॉलबैक फ़ंक्शन का एक मेमोइज्ड संस्करण लौटाता है, जिसका अर्थ है कि यह केवल तभी फ़ंक्शन को फिर से बनाता है जब इसकी कोई निर्भरता बदलती है। यह विशेष रूप से तब उपयोगी होता है जब चाइल्ड घटकों को प्रॉप्स के रूप में पास किया जाता है ताकि उन्हें अनावश्यक रूप से पुन: प्रस्तुत करने से रोका जा सके।
मान लीजिए कि आपके पास एक मूल घटक है जो एक फ़ंक्शन को चाइल्ड घटक में भेजता है। यूज़कॉलबैक के बिना, हर बार पैरेंट कंपोनेंट रेंडर होने पर चाइल्ड कंपोनेंट फिर से रेंडर होगा, भले ही फ़ंक्शन लॉजिक नहीं बदला हो।
import React, { useState, useCallback } from 'react'; import ChildComponent from './ChildComponent'; const ParentComponent = () => { const [count, setCount] = useState(0); // Using useCallback to memoize the function const handleIncrement = useCallback(() => { setCount(count 1); }, [count]); return (); }; export default ParentComponent;Count: {count}
उपरोक्त उदाहरण में, हैंडलइंक्रीमेंट को यूज़कॉलबैक के साथ याद किया गया है। चाइल्डकंपोनेंट केवल तभी पुन: प्रस्तुत होगा जब गिनती बदल जाएगी, अनावश्यक पुन: प्रस्तुतीकरण को रोका जा सकेगा और प्रदर्शन में सुधार होगा।
यूज़मेमो हुक का उपयोग किसी फ़ंक्शन के परिणाम को याद रखने के लिए किया जाता है, कैश्ड परिणाम को केवल तभी पुन: गणना करता है जब इसकी निर्भरता में से एक बदलता है। यह उन स्थितियों में प्रदर्शन को अनुकूलित करने के लिए उपयोगी है जहां कोई फ़ंक्शन महंगी गणना करता है।
मान लें कि आपके पास एक घटक है जो एक बड़ी सूची को फ़िल्टर करने जैसा कम्प्यूटेशनल रूप से महंगा ऑपरेशन करता है।
import React, { useState, useMemo } from 'react'; const ExpensiveComponent = ({ items }) => { const [filter, setFilter] = useState(''); // Using useMemo to optimize expensive filtering const filteredItems = useMemo(() => { console.log('Filtering items...'); return items.filter(item => item.includes(filter)); }, [items, filter]); return (setFilter(e.target.value)} placeholder="Filter items" />); }; export default ExpensiveComponent;{filteredItems.map((item, index) => (
- {item}
))}
इस उदाहरण में, आइटम सरणी को फ़िल्टर करने के परिणाम को कैश करने के लिए यूज़मेमो का उपयोग किया जाता है। इस तरह, महंगे फ़िल्टरिंग ऑपरेशन की पुनर्गणना केवल तभी की जाती है जब आइटम या फ़िल्टर बदलता है, अनावश्यक गणनाओं से बचा जाता है।
रिएक्ट का यूज़कॉलबैक और यूज़मेमो हुक अनावश्यक री-रेंडर और महंगी गणनाओं से बचकर घटक प्रदर्शन को अनुकूलित करने के लिए शक्तिशाली उपकरण हैं। इन हुकों को सावधानीपूर्वक लगाकर, आप यह सुनिश्चित कर सकते हैं कि आपका रिएक्ट एप्लिकेशन कुशलतापूर्वक चले।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3