⊗jsrxPmSDSSC 35 of 57 menu

Redux stāvokļa struktūras maiņa

Pirmā posma, ko mēs realizēsim mūsu Redux lietotnes mijiedarbībai ar kādu ārēju serveri, ir datu iegūšana, kas uz tā glabājas, palaižot lietotni. Bet vispirms ieviesīsim dažas izmaiņas mūsu lietotnē.

Atvērsim mūsu produktu lietotni, un tajā failu productsSlice.js. Pievērsiet uzmanību initialState definīcijai. Sākotnēji mūsu šķēle ar produktiem productsSlice ir masīvs, kurā atrodas objekti (mūsu gadījumā divi) ar produktu datiem. Pirmkārt, tā kā tagad mēs tos ielādēsim no servera, mums tie ir jānoņem no initialState. Otrkārt, mēs sūtīsim uz servera API pieprasījumus un mums būs svarīgi zināt to statusu. Ņemot vērā šīs divas lietas, mainīsim initialState. Ļaujiet tam tagad būt vienkāršam objektam ar laukiem products (sākotnēji šeit nebūs nekādu datu, bet tikai tukšs masīvs), status un error. Tagad mūsu kods priekš initialState kļūs mazliet īsāks:

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

Pagaidām mēs iestatījām statusu 'idle' (neaktivitāte), jo sākotnēji mēs nesūtām nekādus pieprasījumus, bet kopumā tas mainīsies un var pieņemt vērtības 'loading', 'succeeded', 'failed'. Atcerieties, ka statusa apzīmēšanai jūs varat izvēlēties tos nosaukumus, kas jums būs ērti.

Pārejam zemāk pa kodam. Pēc initialState izmaiņām mums jāmaina arī kods, kurā mēs strādājam ar šo stāvokli reduktoru funkcijās. Apskatīsim kodu priekš productAdded:

state.push(action.payload)

Tagad jaunos produktus mēs ievietosim ne vienkārši stāvoklī priekš produktiem, bet tā īpašībā state.products. Tāpēc aizstāsim iepriekš minēto rindu ar:

state.products.push(action.payload)

Attiecīgi veiksim tās pašas izmaiņas reduktoram reactionClicked. Tā vietā:

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

Tagad būs:

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

Paši aizstājiet state ar state.products un reduktora productUpdated kodā.

Atveriet savu studentu lietotni. Atveriet tajā failu studentsSlice.js. Ļaujiet tagad jūsu initialState būt ar trīs īpašībām: students, status, error - pārveidojiet to, kā parādīts nodarbībā.

Ieviesiet atbilstošās izmaiņas zemāk pa kodam. Aizstājiet state ar state.students kodā priekš jūsu trīs reduktoru funkcijām.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt