⊗jsrxPmATSL 56 of 57 menu

Pardavėjų sąrašas Redux

Ankstesnėse pamokose mes baigėme pagrindinę medžiagą. Dabar naudodami thunk mes gauname produktų sąrašą iš serverio ir galime išsaugoti naują produktą serveryje. Panagrinėkime pardavėjus. Juk mes gauname duomenis ir jiems. Sukurkime atskirį puslapį su pardavėjų sąrašu.

Atidarykime mūsų programą su produktais, o joje aplanką sellers. Sukurkime šiame aplanke failą SellersList.jsx. Čia mes naudosime useSelector, Link ir selectAllSellers, kurio kodą mes parašysime sellersSlice.js vėliau:

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

Tada sukursime patį SellersList. Jame mes gausime visus pardavėjus naudodami hook'ą useSelector, tada gausime sąrašo pardavėjų išdėstymą cikle map, be to, kiekvienas pardavėjo pavadinimas bus nuoroda į jo puslapį. Ir pabaigoje grąžinsime išdėstymą su antrašte ir gautu sąrašu:

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>Pardavėjai:</h2> <ul>{sellersToRender}</ul> </div> ) }

Tada nueisime į failą sellersSlice.js ir pagal analogiją su selektoriais productsSlice.js sukursime pačioje failo pabaigoje du selektorius po reduktoriaus eksporto:

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

Dabar mums reikia nurodyti maršrutą pushapiui su sąrašu, tam atidarykime failą App.jsx ir į vaikų maršrutų masyvą children pridėkime dar vieną objektą (nepamirškite importuoti komponento SellersList):

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

Kad mūsų nuoroda 'Pardavėjai' meniu veiktų, eikime į failą root.jsx (kaip seniai tai buvo ... ) ir pakeiskime tag'ą a į elementą NavLink:

<NavLink to="/sellers" end> Pardavėjai </NavLink>

Ir paskutinis. Kad mūsų meniu paryškintų aktyvią nuorodą, ir būtų aišku kuriame puslapyje mes esame, mes pridėsime stilių index.css:

nav a.active { color: purple; }

Paleiskime mūsų programą. Dabar mes galime ateiti į puslapį su pardavėjais, paspaudę 'Pardavėjai' meniu. Žinoma, pirmiausia reikia paspausti 'Produktai' meniu, kitaip mūsų produktai nebus užkrauti. Kitoje pamokoje mes sukursime puslapį kiekvienam pardavėjui ir tuo baigsime šios mokymo programos apie Redux studijas.

Atidarykite savo studentų programą. Išstudijavę pamokos medžiagą, aplanke teachers sukurkite failą TeachersList.jsx. Naudodami šį komponentą jūs atvaizduosite dėstytojų sąrašą. Importuokite į jį reikalingus komponentus ir hook'us.

Parašykite kodą komponentui TeachersList, gaukite jame visus dėstytojus ir sukurkite dėstytojų sąrašą teachersToRender, tegu kiekvienoje šio sąrašo eilutėje rodomi jų pavardės ir inicialai, o skliausteliuose dalykas, kurį jie dėsto. Tegul kiekvieni VPI kartu būna nuoroda, vedanti į atskirą pushapį kiekvienam dėstytojui. Tada komponento kodo pabaigoje grąžinkite išdėstymą su antrašte ir sukurtu sąrašu.

Failo teachersSlice.js pabaigoje sukurkite porą funkcijų-selektorius selectAllTeachers ir selectTeacherById, kaip parodyta pamokoje.

App.jsx prijunkite dar vieną vaiko maršrutą pushapiui su dėstytojais.

Faile root.jsx meniu 'Dėstytojai' pakeiskite tag'ą a į NavLink, kaip parodyta pamokoje. Padarykite taip, kad aktyvi nuoroda meniu kažkaip išsiskirtų, pridėdami tam stilius index.css.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti