⊗jsrxPmATSL 56 of 57 menu

Pārdevēju saraksts Redux

Iepriekšējās nodarbībās mēs pabeidzām ar galveno materiālu. Tagad, izmantojot thunk, mēs iegūstam produktu sarakstu no servera un varam saglabāt jaunu produktu serverī. Tiksim galā ar pārdevējiem. Galu galā mēs iegūstam datus arī priekš viņiem. Izveidosim atsevišķu lapu ar pārdevēju sarakstu.

Atvērsim mūsu lietotni ar produktiem, un tajā mapi sellers. Izveidosim šajā mapē failu SellersList.jsx. Šeit mēs izmantosim useSelector, Link un selectAllSellers, kura kodu mēs uzrakstīsim sellersSlice.js nedaudz vēlāk:

import { useSelector } from 'react-redux' import { Link } from 'react-router-dom' import { selectAllSellers } from './sellersSlice'

Tālāk izveidosim pašu SellersList. Tajā mēs iegūsim visus pārdevējus, izmantojot hook useSelector, tad iegūsim atzīmējumu sarakstam pārdevēju cilpā map, turklāt katra pārdevēja nosaukums būs saite, kas ved uz viņa lapu. Un beigās atgriezīsim atzīmējumu ar virsrakstu un iegūto sarakstu:

export const SellersList = () => { const sellers = useSelector(selectAllSellers) const sellersToRender = sellers.map((seller) => ( <li key={seller.id}> <Link to={`/sellers/${seller.id}`}>{seller.name}</Link> </li> )) return ( <div> <h2>Pārdevēji:</h2> <ul>{sellersToRender}</ul> </div> ) }

Tad dosimies uz failu sellersSlice.js un pēc analoģijas ar selektoriem productsSlice.js izveidosim pašās faila beigās divus selektorus pēc reducera eksporta:

export const selectAllSellers = (state) => state.sellers export const selectSellerById = (state, sellerId) => state.sellers.find((seller) => seller.id === sellerId)

Tagad mums ir jāpievieno maršruts saraksta lapai, šim nolūkam atvērsim failu App.jsx un bērnu maršrutu masīvā children pievienosim vēl vienu objektu (neaizmirstiet importēt komponentu SellersList):

{ path: '/sellers', element: <SellersList />, },

Lai mūsu saite 'Pārdevēji' izvēlnē sāktu darboties, iesim uz failu root.jsx (cik sen tas bija ... ) un aizstāsim tagu a ar elementu NavLink:

<NavLink to="/sellers" end> Pārdevēji </NavLink>

Un pēdējais. Lai mūsu izvēlnē izceltos aktīvā saite, un būtu saprotams, uz kuras lapas mēs atrodamies, mēs pievienosim stilu index.css:

nav a.active { color: purple; }

Palaidīsim mūsu lietotni. Tagad mēs varam doties uz lapu ar pārdevējiem, noklikšķinot uz 'Pārdevēji' izvēlnē. Vispirms, protams, ir jānoklikšķina uz 'Produkti' izvēlnē, pretējā gadījumā mūsu produkti netiks ielādēti. Nākamajā nodarbībā mēs izveidosim lapu katram pārdevējam un ar to pabeigsim šī mācību grāmatas par Redux apguvi.

Atveriet savu lietotni ar studentiem. Izpētījuši nodarbības materiālus, mapē teachers izveidojiet failu TeachersList.jsx. Ar šī komponenta palīdzību jūs parādīsiet pasniedzēju sarakstu. Importējiet tajā nepieciešamos komponentus un hook.

Uzrakstiet kodu komponentam TeachersList, iegūstiet tajā visus pasniedzējus un izveidojiet pasniedzēju sarakstu teachersToRender, lai katrā šī saraksta rindā tiktu parādīti viņu uzvārdi un iniciāļi, bet iekavās priekšmets, ko viņi māca. Lai katrs uzvārds un iniciāļi kopā būtu saite, kas ved uz atsevišķu lapu katram pasniedzējam. Tad komponenta koda beigās atgrieziet atzīmējumu ar virsrakstu un izveidoto sarakstu.

Faila teachersSlice.js beigās izveidojiet funkciju pāri selektorus selectAllTeachers un selectTeacherById, kā parādīts nodarbībā.

App.jsx pievienojiet vēl vienu bērnu maršrutu lapai ar pasniedzējiem.

Failā root.jsx izvēlnē priekš 'Pasniedzēji' aizstājiet tagu a ar NavLink, kā parādīts nodarbībā. Iestatiet, lai aktīvā saite izvēlnē kaut kā izceltos, pievienojot tam stilus index.css.

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