उस समय मेरा मानना ​​था कि वैश्विक स्थिति को रिएक्ट कॉन्टेक्स्ट के माध्यम से पारित किया जाना चाहिए ताकि यह रिएक्ट समवर्ती मोड के साथ काम करे। इसलिए, मैंने अपनी लाइब्रेरी और अन्य लाइब्रेरी को अलग करने के लिए एक तुलना तालिका बनाई और ज़स्टैंड उनमें से एक था। ये साल 2019 की बात है.

ज़स्टैंड v3

2020 में, मैं पोइमैंड्रेस समूह में शामिल हो गया और ज़स्टैंड के विकास का कार्यभार संभाला। उस समय मेरी रुचि वैश्विक राज्य पुस्तकालयों को रिएक्ट समवर्ती मोड के साथ काम करने में थी। समवर्ती मोड से पूर्ण लाभ प्राप्त करना संभव नहीं था, लेकिन वैश्विक स्थिति को समवर्ती मोड के साथ संगत बनाने के लिए यूज़म्यूटेबलसोर्स नामक एक प्रयोगात्मक एपीआई थी।

मैं रिएक्ट-ट्रैक्ड के साथ रिएक्ट कॉन्टेक्स्ट-आधारित समाधान का उपयोग करके कई चीजों का प्रयोग कर रहा था और सोच रहा था कि हम रिएक्ट कॉन्टेक्स्ट के बिना वैश्विक स्थिति के साथ क्या कर सकते हैं। ज़ुस्टैंड एक साल का था, लेकिन कोई उसका पालन-पोषण नहीं कर रहा था। इसलिए, मैंने इसे अपने हाथ में लेने का निर्णय लिया।

प्रयोगात्मक यूज़म्यूटेबलसोर्स एपीआई तैयार नहीं थी, इसलिए पहला काम विभिन्न चीजों को अपडेट करना और कुछ बग्स को ठीक करना था। यही वह समय था जब Zustand v3 का जन्म हुआ। मेरी आशा थी कि जल्द ही v4 को useMutableSource के साथ रिलीज़ किया जाएगा, लेकिन ऐसा नहीं हुआ। इसके पीछे एक और कहानी है।

आजकल, वैश्विक स्थिति को बाहर रखना और इसके स्टोर को पास करने के लिए वैकल्पिक रूप से रिएक्ट कॉन्टेक्स्ट का उपयोग करना एक प्रसिद्ध पैटर्न है। ज़स्टैंड इस पैटर्न में अग्रणी थे। लोग रिएक्ट संदर्भ में वैश्विक स्थिति नहीं होने के बारे में बहुत संशय में थे, और हमें यह समझाने में कठिनाई हुई कि यह एक वैध पैटर्न है।

वर्तमान स्थिति

ज़स्टैंड के बारे में जिन चीजों की मैं परवाह करता हूं उनमें से एक इसका सरल कार्यान्वयन और इसका छोटा बंडल आकार है। यदि आप स्रोत कोड को देखते हैं, तो आप देखेंगे कि यह न्यूनतम स्टोर कार्यान्वयन के साथ रिएक्ट हुक का उपयोग करने से ज्यादा कुछ नहीं है।

लेखन के समय, Zustand v4 नवीनतम संस्करण है, जिसमें बहुत उन्नत टाइपस्क्रिप्ट समर्थन है, और कोड लगभग पूरी तरह से v3 से फिर से लिखा गया है। हमारे पास Zustand v5 अगली रिलीज़ के लिए लगभग तैयार है।

अंतिम लेकिन महत्वपूर्ण बात, ऐसे कई योगदानकर्ता हैं जो इस परियोजना को बनाए रखते हैं। जब मैंने यह प्रोजेक्ट अपने हाथ में लिया तो मुझे उम्मीद नहीं थी कि ऐसा होगा। मैं इसके लिए बहुत आभारी हूं. सबको धन्यावाद।

","image":"http://www.luping.net/uploads/20240730/172233792466a8ca84b1d78.jpg","datePublished":"2024-07-30T19:12:03+08:00","dateModified":"2024-07-30T19:12:03+08:00","author":{"@type":"Person","name":"luping.net","url":"https://www.luping.net/articlelist/0_1.html"}}
"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > जस्टैंड का जन्म कैसे हुआ

जस्टैंड का जन्म कैसे हुआ

2024-07-30 को प्रकाशित
ब्राउज़ करें:538

How Zustand Was Born

अधिक सटीक रूप से, Zustand v3 के बाद से

परिचय

इस पोस्ट में, मैं ज़स्टैंड के विकास के पीछे की कहानी साझा करना चाहूंगा। सटीक होने के लिए, मैं Zustand का मूल लेखक नहीं था, और जब Zustand v0 का जन्म हुआ, तो मैं अन्य वैश्विक राज्य पुस्तकालयों का विकास कर रहा था, विशेष रूप से रिएक्ट-ट्रैक्ड। वैसे, अब मैं खुद को ज़स्टैंड का (माध्यमिक) लेखक मानता हूं।

मैंने पाया कि मेरे ट्वीट में ज़स्टैंड का उल्लेख है, इसकी तुलना मेरे सहित अन्य पुस्तकालयों से की जा रही है।

उस समय मेरा मानना ​​था कि वैश्विक स्थिति को रिएक्ट कॉन्टेक्स्ट के माध्यम से पारित किया जाना चाहिए ताकि यह रिएक्ट समवर्ती मोड के साथ काम करे। इसलिए, मैंने अपनी लाइब्रेरी और अन्य लाइब्रेरी को अलग करने के लिए एक तुलना तालिका बनाई और ज़स्टैंड उनमें से एक था। ये साल 2019 की बात है.

ज़स्टैंड v3

2020 में, मैं पोइमैंड्रेस समूह में शामिल हो गया और ज़स्टैंड के विकास का कार्यभार संभाला। उस समय मेरी रुचि वैश्विक राज्य पुस्तकालयों को रिएक्ट समवर्ती मोड के साथ काम करने में थी। समवर्ती मोड से पूर्ण लाभ प्राप्त करना संभव नहीं था, लेकिन वैश्विक स्थिति को समवर्ती मोड के साथ संगत बनाने के लिए यूज़म्यूटेबलसोर्स नामक एक प्रयोगात्मक एपीआई थी।

मैं रिएक्ट-ट्रैक्ड के साथ रिएक्ट कॉन्टेक्स्ट-आधारित समाधान का उपयोग करके कई चीजों का प्रयोग कर रहा था और सोच रहा था कि हम रिएक्ट कॉन्टेक्स्ट के बिना वैश्विक स्थिति के साथ क्या कर सकते हैं। ज़ुस्टैंड एक साल का था, लेकिन कोई उसका पालन-पोषण नहीं कर रहा था। इसलिए, मैंने इसे अपने हाथ में लेने का निर्णय लिया।

प्रयोगात्मक यूज़म्यूटेबलसोर्स एपीआई तैयार नहीं थी, इसलिए पहला काम विभिन्न चीजों को अपडेट करना और कुछ बग्स को ठीक करना था। यही वह समय था जब Zustand v3 का जन्म हुआ। मेरी आशा थी कि जल्द ही v4 को useMutableSource के साथ रिलीज़ किया जाएगा, लेकिन ऐसा नहीं हुआ। इसके पीछे एक और कहानी है।

आजकल, वैश्विक स्थिति को बाहर रखना और इसके स्टोर को पास करने के लिए वैकल्पिक रूप से रिएक्ट कॉन्टेक्स्ट का उपयोग करना एक प्रसिद्ध पैटर्न है। ज़स्टैंड इस पैटर्न में अग्रणी थे। लोग रिएक्ट संदर्भ में वैश्विक स्थिति नहीं होने के बारे में बहुत संशय में थे, और हमें यह समझाने में कठिनाई हुई कि यह एक वैध पैटर्न है।

वर्तमान स्थिति

ज़स्टैंड के बारे में जिन चीजों की मैं परवाह करता हूं उनमें से एक इसका सरल कार्यान्वयन और इसका छोटा बंडल आकार है। यदि आप स्रोत कोड को देखते हैं, तो आप देखेंगे कि यह न्यूनतम स्टोर कार्यान्वयन के साथ रिएक्ट हुक का उपयोग करने से ज्यादा कुछ नहीं है।

लेखन के समय, Zustand v4 नवीनतम संस्करण है, जिसमें बहुत उन्नत टाइपस्क्रिप्ट समर्थन है, और कोड लगभग पूरी तरह से v3 से फिर से लिखा गया है। हमारे पास Zustand v5 अगली रिलीज़ के लिए लगभग तैयार है।

अंतिम लेकिन महत्वपूर्ण बात, ऐसे कई योगदानकर्ता हैं जो इस परियोजना को बनाए रखते हैं। जब मैंने यह प्रोजेक्ट अपने हाथ में लिया तो मुझे उम्मीद नहीं थी कि ऐसा होगा। मैं इसके लिए बहुत आभारी हूं. सबको धन्यावाद।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/dai_shi/how-zustand-was-born-48h3?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए [email protected] से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3