⊗jsrxPmSDSSC 35 of 57 menu

Verandering van staatstruktuur in Redux

Die eerste fase wat ons sal implementeer vir die interaksie van ons Redux-aansoek met 'n eksterne bediener - dit is die verkryging van data wat daarin gestoor word wanneer die aansoek begin. Maar laat ons eers 'n paar veranderinge aanbring in ons aansoek.

Laat ons ons produk-aansoek oopmaak, en daarin die lêer productsSlice.js. Let op die definisie van initialState. Oorspronklik is ons snit met produkte productsSlice - 'n skikking waarin daar voorwerpe is (in ons geval is daar twee) met data van die produkte. Eerstens, aangesien ons dit nou sal laai vanaf die bediener, moet ons dit uit die initialState verwyder. Tweedens, ons sal API-versoeke na die bediener stuur en dit sal vir ons belangrijk wees om die status daarvan te ken. Met inagneming van hierdie twee dinge, laat ons die initialState omskep. Laat dit nou eenvoudig 'n voorwerp wees met die velde products (oorspronklik sal hier geen data wees nie, maar bloot 'n leë skikking), status en error. Nou sal ons kode vir initialState 'n bietjie korter word:

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

Vir nou het ons die status as 'idle' gestel (niksdoen), aangesien ons aanvanklik geen versoeke stuur nie, maar oor die algemeen sal dit verander en kan die waardes 'laai', 'voltooi', 'laaifout' aanneem. Onthou dat jy vir die aanduiding van status die name kan kies wat vir jou gerieflik is.

Laat ons verder afgaan in die kode. Na die verandering van initialState, moet ons ook die kode verander waar ons met hierdie staat werk in die reducersfunksies. Laat ons kyk na die kode vir productAdded:

state.push(action.payload)

Nou sal ons nuwe produkte plaas nie eenvoudig in die state vir produkte nie, maar in sy eienskap state.products. Daarom, vervang ons bogenoemde reël met:

state.products.push(action.payload)

Gevolglik, laat ons dieselfde veranderinge doen vir die reducer reactionClicked. In plaas van:

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

Sal dit nou wees:

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

Vervang self state met state.products in die kode van die reducer productUpdated.

Maak jou aansoek met studente oop. Maak die lêer studentsSlice.js daarin oop. Laat jou initialState nou drie eienskappe hê: students, status, error - herskep dit, soos getoon in die les.

Bring die ooreenstemmende veranderinge ook laer in die kode aan. Vervang state met state.students in die kode vir jou drie reducersfunksies.

Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp