कई दिन पहले मुझे एक नए विभाग में समायोजित किया गया था। मेरे नए सहकर्मी ने मुझे मौजूदा रिएक्ट प्रोजेक्ट को दोबारा तैयार करने का काम दिया।
जब मैं कोड पढ़ रहा था, तो कॉन्टेक्स्ट एपीआई का उपयोग करने के तरीके से मैं चौंक गया। पहले कोडर, जिसने सब कुछ (हाँ, लगभग सब कुछ) एक कॉन्टेक्स्ट ऑब्जेक्ट में डाल दिया था, ने इसे सभी राज्यों और यहां तक कि कुछ स्थानीय अस्थायी स्थिति को प्रबंधित करने के लिए एक स्टोर के रूप में माना। वह पागलपन है!
और वह एक .ts फ़ाइल में केवल एक (हाँ, बिल्कुल केवल एक) घटक में एक पृष्ठ के लिए सब कुछ कोड करता है। मेरे लिए कोड के तर्क को अपने मन में स्पष्ट करना बहुत कठिन है। लेकिन मैं अभी भी इन घटिया कोड को स्वीकार करता हूं (मेरे पास कोई विकल्प नहीं है), इसलिए मैंने एक बड़ा निर्णय लिया: मैं Mobx के साथ एक सप्ताह में इन सभी पृष्ठों को फिर से लिखूंगा और कोड को विभिन्न कार्यात्मक घटकों में विभाजित करूंगा।
Mobx के साथ, मैं एपीआई से सभी डेटा को संभालने के लिए कई स्टोर बनाता हूं और एक विशाल घटक को अलग-अलग छोटे टुकड़ों में विभाजित करता हूं; सब कुछ स्पष्ट और सरल होने लगता है। स्थानीय राज्य इसके दायरे में होना चाहिए जहां इसका उपयोग किया जाएगा, सामान्य हिस्सा Mobx के स्टोर से मिलेगा।
आखिरकार मैंने कॉन्टेक्स्ट ऑब्जेक्ट को पूरी तरह से हटा दिया, कोड की हजारों लाइनें हटा दी गईं, और दुनिया फिर से शांत हो गई!
मैं कॉन्टेक्स्ट एपीआई के बारे में कुछ कहना चाहता हूं। यदि आपके पास वास्तव में कुछ है, जैसे कि संपूर्ण ऐप पर साझा करने के लिए कुछ वैश्विक कॉन्फ़िगरेशन जानकारी, तो आप कॉन्टेक्स्ट एपीआई का उपयोग कर सकते हैं, लेकिन यदि आप केवल कुछ तृतीय-पक्ष राज्य प्रबंधन लाइब्रेरी का उपयोग करने से बचना चाहते हैं, तो संदर्भ को एक के रूप में मानना एक बुरा विचार है। प्रतिस्थापन।
संदर्भ को संदर्भ ही रहने दें और राज्य को Mobx जैसे पुस्तकालयों द्वारा प्रबंधित करने दें।
कृपया रिएक्ट कॉन्टेक्स्ट एपीआई का दुरुपयोग बंद करें!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3