Redux में दो मूलभूत विचार
Redux लाइब्रेरी का अध्ययन शुरू करने से पहले, आइए इसके दो मूलभूत विचारों से परिचित हों। पहला विचार, जो अवस्था प्रबंधन से संबंधित है, हम React में साधारण स्टेट वाले काउंटर के उदाहरण पर देखेंगे:
function Counter() {
// State
const [count, setCount] = useState(0)
// Action:
function clickHandler() {
setCount(count + 1)
}
// View:
return (
<div>
<span>{count}</span>
<button onClick={clickHandler}>+</button>
</div>
)
}
इस कोड में हम count चर के लिए स्टेट देखते हैं -
यह काउंटर के लिए सत्य का स्रोत है। फिर हम
क्रिया (action) देखते हैं - एक घटना,
जो उपयोगकर्ता के क्लिक पर स्टेट को अद्यतन करती है।
और अंत में, प्रस्तुतीकरण (view),
जिसके द्वारा हम उपयोगकर्ता इंटरफेस प्रदर्शित करते हैं।
इस प्रकार योजना काफी सरल है:
बटन दबाया जाता है - count स्टेट (State)
दबाने (Action) पर बदल जाता है, इसलिए
प्रस्तुतीकरण (View) बदल जाता है - हमारे मामले में
यह स्क्रीन पर संख्या है।
हालाँकि, सब कुछ अधिक जटिल हो जाएगा यदि हमारे पास कई ऐसे घटक हैं जिन्हें एक ही स्टेट का उपयोग करना चाहिए। बेशक, उदाहरण के लिए, हम अवस्था को ऊपर उठा सकते हैं माता-पिता घटकों तक, लेकिन ऐसा समाधान हमेशा समस्या से छुटकारा नहीं दिला सकता है। इस मामले में Redux हमें एप्लिकेशन में एक ऐसा स्थान बनाने की पेशकश करता है, जिसमें वैश्विक अवस्था हो और इस अवस्था को अद्यतन करते समय व्यवहार के निश्चित पैटर्न हों। यही पहला मूलभूत विचार है (!)।
दूसरा विचार अपरिवर्तनीयता से जुड़ा है, यानी डेटा की अपरिवर्तनशीलता। आपको निश्चित रूप से JavaScript से याद होगा कि ऐरे और ऑब्जेक्ट बदले जा सकते हैं। Redux में, अन्य फ्रेमवर्क की तरह, सीधे डेटा को बदलना खराब शैली माना जाता है और इसके अप्रत्याशित परिणाम हो सकते हैं। इसलिए Redux में हमारे मूल ऑब्जेक्ट और ऐरे अपरिवर्तनीय रहने चाहिए, और हम केवल उनकी प्रतिलिपियाँ ही बदल सकते हैं।
बताइए, Redux का पहला मूलभूत विचार क्या है।
बताइए, Redux का दूसरा मूलभूत विचार क्या है।