⊗jsrxPmWFRAA 17 of 57 menu

रिड्यूसर और एक्शन रेडक्स में

पिछले पाठ में हमने उत्पाद जोड़ने के लिए फॉर्म समाप्त किया और इसे मुख्य पृष्ठ पर प्रदर्शित किया। लेकिन अभी तक जोड़ा गया डेटा सहेजा नहीं जाता है, दूसरे शब्दों में नया उत्पाद स्टोर में मौजूद मौजूदा उत्पादों में नहीं जोड़ा जाता है। आइए इसे ठीक करते हैं।

सबसे पहले हमारे उत्पाद एप्लिकेशन में हम फाइल productsSlice.jsx खोलेंगे और createSlice के लिए reducer गुण में फंक्शन productAdded लिखेंगे, जो स्टोर में उत्पाद जोड़ने का काम करेगी, जो उसे दिए गए वर्तमान स्टेट और एक्शन पर आधारित होगी। यहां यह नोट करना महत्वपूर्ण है कि हमें पूरा state नहीं दिया जाता, बल्कि केवल वह हिस्सा दिया जाता है जो उत्पादों के लिए जिम्मेदार है (स्लाइस products केवल इसी को जानता है)। नए उत्पाद वाली ऑब्जेक्ट action ऑब्जेक्ट के payload गुण में होगी, जो फॉर्म में सेव बटन दबाने पर हैंडलर द्वारा जेनरेट की जाएगी। परिणामस्वरूप रिड्यूसर productAdded createSlice में कोड में इस तरह दिखेगा:

const productsSlice = createSlice({ name: 'products', initialState, reducers: { productAdded(state, action) { state.push(action.payload) }, }, })

और एक्शन के बारे में क्या? ट्यूटोरियल की शुरुआत में ही हमने इस बात का उल्लेख किया था कि action एक प्रकार की घटना होती है, जो ऑब्जेक्ट के रूप में प्रस्तुत होती है, जो एप्लिकेशन में घटित हुई चीज का वर्णन करती है। हमने इस बारे में भी बात की थी कि action creator फंक्शन का उपयोग किया जा सकता है, जो हमारे लिए ऐसा ऑब्जेक्ट बनाएगी, उदाहरण के लिए इस तरह:

const addProduct = newProduct => { return { type: 'products/productAdded', payload: newProduct } }

अच्छी खबर यह है कि हमें कुछ भी करने की जरूरत नहीं है, और यह काम हमारे लिए createSlice फंक्शन कर देगी, जिसका हम उपयोग कर रहे हैं। जैसे ही हमने reducer लिख दिया, यह स्वचालित रूप से हमारे लिए उसी नाम का action creator बना देगी। हमें केवल कंपोनेंट्स में आगे उपयोग के लिए प्राप्त action creator को एक्सपोर्ट करना बाकी है। आइए इसे फाइल के अंत में रिड्यूसर के एक्सपोर्ट से पहले इस तरह करें:

export const { productAdded } = productsSlice.actions export default productsSlice.reducer

अपना छात्रों वाला एप्लिकेशन खोलें, और फिर studentsSlice.jsx फाइल खोलें, पाठ में दिखाए अनुसार createSlice के लिए reducer फील्ड का मान लिखें।

studentsSlice.jsx फाइल के अंत में प्राप्त action creator फंक्शन का एक्सपोर्ट जोड़ें।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें