⊗jsrxPmSDSSC 35 of 57 menu

Redux में state structure को बदलना

पहला चरण जिसे हम लागू करेंगे, वह है हमारे Redux एप्लिकेशन का किसी बाहरी सर्वर के साथ इंटरैक्शन के लिए - एप्लिकेशन शुरू होने पर उस पर संग्रहीत डेटा प्राप्त करना। लेकिन इससे पहले, आइए हम अपने एप्लिकेशन में कुछ बदलाव करें।

हमारे उत्पादों वाला एप्लिकेशन खोलें, और उसमें फ़ाइल productsSlice.js खोलें। initialState की परिभाषा पर ध्यान दें। शुरू में, उत्पादों वाला हमारा स्लाइस productsSlice एक ऐरे है जिसमें उत्पादों के डेटा वाली ऑब्जेक्ट्स हैं (हमारे मामले में उनमें से दो हैं)। सबसे पहले, क्योंकि अब हम उन्हें सर्वर से लोड करेंगे, इसलिए हमें उन्हें initialState से हटाने की आवश्यकता है। दूसरी बात, हम सर्वर पर API requests भेजेंगे और उनकी स्थिति के बारे में जानना हमारे लिए महत्वपूर्ण होगा। इन दो बातों को ध्यान में रखते हुए, आइए initialState को बदलें। अब इसे बस products (यहां शुरू में कोई डेटा नहीं होगा, बस एक खाली ऐरे), status और error फ़ील्ड वाला एक ऑब्जेक्ट बनने दें। अब initialState के लिए हमारा कोड थोड़ा छोटा हो जाएगा:

const initialState = { products: [], status: 'idle', error: null, }

अभी हमने status को 'idle' (निष्क्रिय) सेट किया है, क्योंकि शुरू में हम कोई requests नहीं भेज रहे हैं, लेकिन सामान्य तौर पर यह बदलेगा और 'loading', 'succeeded', 'failed' मान ले सकता है। याद रखें, कि status को दर्शाने के लिए आप वे नाम चुन सकते हैं जो आपके लिए सुविधाजनक हों।

कोड में नीचे जाएं। initialState में बदलाव के बाद, हमें उस कोड को भी बदलना चाहिए, जिसमें हम reducer functions में इस state के साथ काम करते हैं। productAdded के लिए कोड देखें:

state.push(action.payload)

अब नए उत्पादों को हम सीधे उत्पादों वाले state में नहीं, बल्कि उसकी प्रॉपर्टी state.products में डालेंगे। इसलिए, उपर्युक्त लाइन को इससे बदलें:

state.products.push(action.payload)

तदनुसार, reducer reactionClicked के लिए वही बदलाव करेंगे। इसके बजाय:

const currentProduct = state.find((product) => product.id === productId)

अब यह होगा:

const currentProduct = state.products.find((product) => product.id === productId)

state को state.products से स्वयं reducer productUpdated के कोड में भी बदलें।

अपने छात्रों वाला एप्लिकेशन खोलें। उसमें फ़ाइल studentsSlice.js खोलें। अब आपका initialState तीन गुण रखे: students, status, error - इसे पाठ में दिखाए अनुसार बदलें।

संबंधित बदलाव कोड में नीचे भी करें। अपने तीन reducer functions के कोड में state को state.students से बदलें।

हिन्दी
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
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें