नमस्ते, साथी यूआई डेवलपर्स! क्या आप अपने रिएक्ट गेम का स्तर बढ़ाने के लिए तैयार हैं? आज, हम रिएक्ट वन-लाइनर्स की दुनिया में गोता लगा रहे हैं - कोड के वे बेहतरीन, कॉम्पैक्ट स्निपेट जो आपके जीवन को इतना आसान बना सकते हैं। चाहे आप रिएक्ट के नौसिखिया हों या एक अनुभवी पेशेवर, ये वन-लाइनर्स निश्चित रूप से आपके टूलकिट में कुछ अतिरिक्त ज़िप जोड़ देंगे।
रिएक्ट जेएस यूजर इंटरफेस बनाने के लिए और अच्छे कारणों से एक उपयोगी लाइब्रेरी बन गया है। यह लचीला, कुशल है और हमें कुछ बहुत बढ़िया चीज़ें बनाने की सुविधा देता है। लेकिन कभी-कभी, हम स्वयं को आवश्यकता से अधिक कोड लिखते हुए पाते हैं। यहीं पर ये वन-लाइनर काम आते हैं। वे रिएक्ट दुनिया के स्विस सेना के चाकू की तरह हैं - छोटे, लेकिन बहुत शक्तिशाली!
तो, अपना पसंदीदा पेय लें, आराम से रहें, और आइए 10 रिएक्ट वन-लाइनर्स का अन्वेषण करें जो आपको अधिक स्मार्ट तरीके से कोडिंग करने में मदद करेंगे, कठिन नहीं। तैयार? आइए सीधे अंदर कूदें!
आइए क्लासिक रिएक्ट परिदृश्य के साथ चीजों की शुरुआत करें: सशर्त प्रतिपादन। आप जानते हैं, जब आप कुछ तभी दिखाना चाहते हैं जब एक निश्चित शर्त पूरी हो। परंपरागत रूप से, आप if स्टेटमेंट या टर्नरी ऑपरेटर का उपयोग कर सकते हैं। लेकिन इसे जांचें:
{condition &&}
यह छोटा रत्न किसी घटक को प्रस्तुत करने के लिए तार्किक AND ऑपरेटर (&&) का उपयोग केवल तभी करता है जब स्थिति सत्य हो। यह सरल, साफ-सुथरा है और बिना किसी झंझट के काम पूरा हो जाता है।
इस एक-पंक्ति की सुंदरता इस बात में निहित है कि जावास्क्रिप्ट तार्किक अभिव्यक्तियों का मूल्यांकन कैसे करता है। यदि && से पहले की स्थिति झूठी है, तो संपूर्ण अभिव्यक्ति झूठी है, और रिएक्ट कुछ भी प्रस्तुत नहीं करता है। लेकिन अगर यह सच है, तो रिएक्ट यह मूल्यांकन करने के लिए आगे बढ़ता है कि && के बाद क्या आता है, जो इस मामले में हमारा घटक है।
यह तकनीक उस समय के लिए एकदम सही है जब आपके सामने सीधे तौर पर हां-या-नहीं की स्थिति होती है। हो सकता है कि आप केवल लॉग-इन उपयोगकर्ताओं के लिए एक स्वागत संदेश दिखाना चाहते हों, या केवल कुछ घंटों के दौरान एक विशेष ऑफ़र प्रदर्शित करना चाहते हों। जो भी हो, इस एक-लाइनर ने आपको कवर कर लिया है।
आगे, डिफ़ॉल्ट प्रॉप्स के बारे में बात करते हैं। हम सभी जानते हैं कि ऐसे मामलों को संभालना कितना महत्वपूर्ण है जहां किसी घटक को प्रॉप्स पास नहीं किया जा सकता है। सामान्य तरीके में डिफॉल्टप्रॉप्स सेट करना या फ़ंक्शन हस्ताक्षर में डिफ़ॉल्ट पैरामीटर का उपयोग करना शामिल है। लेकिन यहाँ एक तेज़ वन-लाइनर है जो काम करता है:
const {prop = defaultValue} = props;
यह पंक्ति डिफ़ॉल्ट मान के साथ डिस्ट्रक्चरिंग असाइनमेंट का उपयोग करती है। यदि प्रॉप्स में प्रॉप अपरिभाषित है, तो यह वापस defaultValue पर आ जाएगा।
यह दृष्टिकोण बहुत साफ है और सीधे फ़ंक्शन बॉडी में होता है। यह विशेष रूप से तब उपयोगी होता है जब आप एकाधिक प्रॉप्स के साथ काम कर रहे हों और अपने फ़ंक्शन हस्ताक्षर को अव्यवस्थित नहीं करना चाहते हों या एक अलग डिफॉल्टप्रॉप्स ऑब्जेक्ट नहीं जोड़ना चाहते हों।
कल्पना करें कि आप एक बटन घटक बना रहे हैं जिसके विभिन्न आकार हो सकते हैं। आप इसे इस तरह उपयोग कर सकते हैं:
const Button = ({ size = 'medium', children }) => { return ; };
अब, यदि कोई आकार निर्दिष्ट किए बिना आपके बटन का उपयोग करता है, तो यह डिफ़ॉल्ट रूप से 'मध्यम' होगा। साफ़-सुथरा, सही?
राज्य प्रबंधन रिएक्ट विकास का एक बड़ा हिस्सा है, और कभी-कभी हमें राज्य को उसके पिछले मूल्य के आधार पर अद्यतन करने की आवश्यकता होती है। यहां एक पंक्ति है जो इसे आसान बनाती है:
setCount(prevCount => prevCount 1);
यह राज्य सेटर के कार्यात्मक रूप का उपयोग करता है, जो पिछले राज्य को एक तर्क के रूप में प्राप्त करता है।
यह दृष्टिकोण सुनिश्चित करता है कि आप हमेशा सबसे अद्यतित राज्य मान के साथ काम कर रहे हैं, जो उन परिदृश्यों में महत्वपूर्ण है जहां राज्य अपडेट बैच या विलंबित हो सकते हैं।
जब भी आपको पिछले मान के आधार पर स्थिति को अपडेट करने की आवश्यकता हो तो इसका उपयोग करें। यह विशेष रूप से काउंटर, बूलियन मानों को टॉगल करने, या किसी भी स्थिति में जहां नया राज्य पुराने पर निर्भर करता है, जैसे परिदृश्यों में उपयोगी है।
रिएक्ट में सरणियों के साथ काम करना एक सामान्य कार्य है, खासकर वस्तुओं की सूची के साथ काम करते समय। यहां एक-लाइनर है जो आपको मूल को बदले बिना राज्य में किसी सरणी में एक आइटम जोड़ने में मदद करता है:
setItems(prevItems => [...prevItems, newItem]);
यह पिछले सभी आइटमों के साथ एक नई सरणी बनाने के लिए स्प्रेड ऑपरेटर का उपयोग करता है, साथ ही अंत में नया भी बनाता है।
रिएक्ट में, प्रदर्शन और पूर्वानुमान के लिए अपरिवर्तनीयता महत्वपूर्ण है। यह वन-लाइनर सुनिश्चित करता है कि आप मौजूदा ऐरे को संशोधित करने के बजाय एक नया ऐरे बना रहे हैं, जो वास्तव में रिएक्ट चाहता है।
मान लीजिए कि आप एक कार्य सूची ऐप बना रहे हैं। जब कोई उपयोगकर्ता कोई नया कार्य जोड़ता है, तो आप अपनी स्थिति को अपडेट करने के लिए इस वन-लाइनर का उपयोग कर सकते हैं:
const addTask = (newTask) => { setTasks(prevTasks => [...prevTasks, newTask]); };
सरल, स्वच्छ और प्रभावी!
सरणी के समान, राज्य में ऑब्जेक्ट को अपडेट करना रिएक्ट में एक सामान्य ऑपरेशन है। यहां एक-लाइनर है जो आपको मूल को बदले बिना किसी ऑब्जेक्ट के विशिष्ट गुणों को अपडेट करने देता है:
setUser(prevUser => ({ ...prevUser, name: 'New Name' }));
यह पिछले उपयोगकर्ता की सभी संपत्तियों के साथ एक नई वस्तु बनाने के लिए स्प्रेड ऑपरेटर का उपयोग करता है, लेकिन 'नाम' संपत्ति को एक नए मान के साथ अधिलेखित कर देता है।
यह दृष्टिकोण अपरिवर्तनीयता बनाए रखता है और आपको केवल उन संपत्तियों को अपडेट करने की अनुमति देता है जिनकी आपको आवश्यकता है। यह कहने जैसा है, "इन विशिष्ट परिवर्तनों को छोड़कर, सब कुछ वैसा ही रखें।"
यह वन-लाइनर तब चमकता है जब आप फॉर्म या किसी परिदृश्य से निपट रहे होते हैं जहां आपको उपयोगकर्ता इनपुट या अन्य घटनाओं के आधार पर किसी ऑब्जेक्ट का हिस्सा अपडेट करने की आवश्यकता होती है।
रिएक्ट में Refs सीधे DOM तत्वों तक पहुँचने के लिए बहुत उपयोगी हैं। यहां एक-लाइनर है जो रेफरी कॉलबैक सेट करता है:
node && node.focus()} />
यह एक इनपुट तत्व बनाता है जो रेंडर होने पर स्वचालित रूप से फोकस करता है।
रेफ कॉलबैक को तर्क के रूप में DOM नोड प्राप्त होता है। यह वन-लाइनर जाँचता है कि क्या नोड मौजूद है (यदि रेफरी शून्य है तो त्रुटियों से बचने के लिए) और फिर उस पर फोकस विधि को कॉल करता है।
यह तकनीक सुलभ फॉर्म बनाने के लिए बहुत अच्छी है जहां आप फॉर्म लोड होने पर पहले इनपुट फ़ील्ड पर स्वचालित रूप से ध्यान केंद्रित करना चाहते हैं।
रिएक्ट में इनलाइन शैलियाँ कभी-कभी थोड़ी वर्बोज़ हो सकती हैं। यहां एक पंक्ति है जो उन्हें अधिक संक्षिप्त बनाती है:
यह एक ही पंक्ति में एकाधिक शैलियों को परिभाषित करने के लिए एक ऑब्जेक्ट शाब्दिक का उपयोग करता है।
हालांकि हम आम तौर पर स्टाइलिंग के लिए सीएसएस कक्षाएं पसंद करते हैं, लेकिन कई बार इनलाइन स्टाइल आवश्यक या सुविधाजनक होते हैं। यह वन-लाइनर आपके JSX को साफ़ और पठनीय रखता है।
यह उन गतिशील शैलियों के लिए विशेष रूप से उपयोगी है जो प्रॉप्स या स्थिति के आधार पर बदलती हैं, या त्वरित प्रोटोटाइप के लिए जब आप एक अलग सीएसएस फ़ाइल सेट नहीं करना चाहते हैं।
सशर्त वर्ग नाम रिएक्ट में एक सामान्य पैटर्न हैं। यहां एक-लाइनर है जो इस प्रक्रिया को सुचारू बनाता है:
यह सशर्त रूप से एक वर्ग जोड़ने के लिए एक टेम्पलेट शाब्दिक और एक टर्नरी ऑपरेटर का उपयोग करता है।
टर्नरी में खाली स्ट्रिंग यह सुनिश्चित करती है कि शर्त गलत होने पर कोई अतिरिक्त स्थान नहीं जोड़ा गया है, जिससे आपके वर्ग के नाम साफ रहते हैं।
यह नेविगेशन मेनू में सक्रिय स्थिति या उपयोगकर्ता इंटरैक्शन के आधार पर दृश्य स्थिति को टॉगल करने जैसी चीज़ों के लिए बिल्कुल सही है।
त्रुटि सीमाएँ मजबूत रिएक्ट अनुप्रयोगों का एक महत्वपूर्ण हिस्सा हैं। यहां एक-लाइनर है जो एक साधारण त्रुटि सीमा बनाता है:
class ErrorBoundary extends React.Component { state = { hasError: false }; static getDerivedStateFromError = () => ({ hasError: true }); render = () => this.state.hasError ?Something went wrong.
: this.props.children; }
हालांकि यह तकनीकी रूप से एक पंक्ति में कई कथन हैं, यह बहुत संक्षिप्त तरीके से एक पूर्ण त्रुटि सीमा घटक बनाता है।
यह वन-लाइनर त्रुटियों को ट्रैक करने के लिए एक स्थिति के साथ एक वर्ग घटक को परिभाषित करता है, त्रुटि होने पर स्थिति को अद्यतन करने के लिए एक स्थिर विधि, और एक रेंडर विधि जो या तो एक त्रुटि संदेश दिखाती है या बच्चों को सामान्य रूप से प्रस्तुत करती है।
इसे अपने ऐप के किसी भी हिस्से के चारों ओर लपेटें जहां आप त्रुटियों को पकड़ना और संभालना चाहते हैं, जिससे पूरे ऐप को क्रैश होने से बचाया जा सके।
अंतिम लेकिन महत्वपूर्ण बात, आइए कार्यात्मक घटकों को याद रखने के लिए एक-लाइनर देखें:
const MemoizedComponent = React.memo(({ prop1, prop2 }) =>{prop1} {prop2});
यह एक कार्यात्मक घटक का एक संस्मरणित संस्करण बनाता है जो केवल तभी पुन: प्रस्तुत होता है जब इसके प्रॉप्स बदलते हैं।
React.memo एक उच्च-क्रम वाला घटक है जो प्रॉप्स समान होने पर रेंडरिंग को छोड़ देता है, जो उन घटकों के लिए एक बड़ा प्रदर्शन बढ़ावा हो सकता है जो अक्सर समान प्रॉप्स के साथ रेंडर करते हैं।
यह उन शुद्ध कार्यात्मक घटकों के लिए बहुत अच्छा है जिन्हें प्रस्तुत करना महंगा है या घटक वृक्ष में गहरे हैं और बार-बार समान प्रॉप्स प्राप्त करते हैं।
ये रहा आपके लिए! दस शक्तिशाली रिएक्ट वन-लाइनर जो आपके कोड को साफ-सुथरा, अधिक कुशल बना सकते हैं, और मैं कह सकता हूं कि लिखने में थोड़ा और मजेदार बना सकते हैं। सशर्त प्रतिपादन से लेकर त्रुटि सीमाओं तक, ये कॉम्पैक्ट स्निपेट एक वास्तविक प्रभाव डालते हैं।
याद रखें, हालांकि ये वन-लाइनर्स अद्भुत हैं, लेकिन ये हमेशा हर परिदृश्य के लिए सबसे अच्छा समाधान नहीं होते हैं। मुख्य बात यह समझना है कि वे कैसे काम करते हैं और उनका उपयोग कब करना है। कोडिंग में सभी चीजों की तरह, पठनीयता और रखरखाव हमेशा आपकी सर्वोच्च प्राथमिकता होनी चाहिए।
तो, अगली बार जब आप किसी रिएक्ट प्रोजेक्ट में पूरी तरह उलझ जाएं, तो इन वन-लाइनर्स को आज़माएं। वे आपका कुछ समय बचा सकते हैं और आपके कोड को थोड़ा और अधिक सुंदर बना सकते हैं। और कौन जानता है? आप अपने नए रिएक्ट विजार्ड्री से अपने साथी डेवलपर्स को भी प्रभावित कर सकते हैं।
खोज करते रहें, सीखते रहें और सबसे महत्वपूर्ण बात, रिएक्ट के साथ आनंद लेते रहें! आख़िरकार, यही चीज़ हमें यूआई डेवलपर्स के लिए प्रेरित करती है, है न? सभी को कोडिंग मुबारक!
तो, आपका पसंदीदा रिएक्ट वन-लाइनर क्या है? क्या आपके पास कोई और है जिसकी आप कसम खाते हैं? उन्हें अपने साथी डेवलपर्स के साथ साझा करें और बातचीत जारी रखें। साथ मिलकर, हम रिएक्ट के साथ जो संभव है उसकी सीमाओं को आगे बढ़ा सकते हैं और और भी अधिक अद्भुत यूजर इंटरफेस बना सकते हैं। अगली बार तक, प्रतिक्रिया देने में प्रसन्नता!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3