⊗jsrxPmATSL 56 of 57 menu

Zoznam predajcov v Reduxe

Na predchádzajúcich hodinách sme skončili s hlavnou náplňou. Teraz pomocou thunku získavame zoznam produktov zo servera a môžeme uložiť nový produkt na server. Poďme sa pozrieť na predajcov. Veď získavame údaje aj pre nich. Urobme samostatnú stránku so zoznamom predajcov.

Otvorme našu aplikáciu s produktami a v nej priečinok sellers. Vytvorme v tomto priečinku súbor SellersList.jsx. Tu budeme používať useSelector, Link a selectAllSellers, ktorého kód napíšeme v sellersSlice.js o čosi neskôr:

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

Ďalej vytvorme samotný SellersList. V ňom získame všetkých predajcov pomocou hooku useSelector, potom získame verštovanie pre zoznam predajcov v cykle map, pričom každý názov predajcu nás bude viesť na jeho stránku. A na konci vráťme verštovanie s nadpisom a získaným zoznamom:

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

Potom prejdime do súboru sellersSlice.js a analogicky s selektormi v productsSlice.js vytvorme na samom konci súboru dva selektory po exporte redukora:

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

Teraz musíme dopísať trasu pre stránku so zoznamom, preto otvorme súbor App.jsx a do poľa podradených trás children pridajme ďalší objekt (nezabudnite importovať komponent SellersList):

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

Aby nám odkaz 'Predajcovia' v menu fungoval, poďme do súboru root.jsx (ako dávno to bolo ... ) a nahraďme tag a elementom NavLink:

<NavLink to="/sellers" end> Predajcovia </NavLink>

A posledné. Aby sa v našom menu zvýraznil aktívny odkaz a bolo zrejmé, na akej stránke sa nachádzame, pridáme štýl do index.css:

nav a.active { color: purple; }

Spustíme našu aplikáciu. Teraz môžeme ísť na stránku s predajcami kliknutím na 'Predajcovia' v menu. Samozrejme, najprv je potrebné kliknúť na 'Produkty' v menu, inak sa naše produkty nenačítajú. V nasledujúcej lekcii urobíme stránku pre každého predajcu a tým ukončíme štúdium tohto tutoriálu pre Redux.

Otvorte svoju aplikáciu so študentmi. Po preštudovaní materiálov lekcie vytvorte v priečinku teachers súbor TeachersList.jsx. Pomocou tohto komponentu budete zobrazovať zoznam učiteľov. Importujte do neho potrebné komponenty a hooky.

Napíšte kód pre komponent TeachersList, získajte v ňom všetkých učiteľov a vytvorte zoznam učiteľov teachersToRender, nech v každom riadku tohto zoznamu sa zobrazia ich priezviská a iniciály a v zátvorkách predmet, ktorý učia. Nech každé celé meno spolu tvorí odkaz, ktorý vedie na samostatnú stránku pre každého učiteľa. Potom na konci kódu komponentu vráťte verštovanie s nadpisom a vytvoreným zoznamom.

Na konci súboru teachersSlice.js vytvorte pár funkcií-selektorov selectAllTeachers a selectTeacherById, ako je ukázané v lekcii.

V App.jsx pripojte ďalšiu podradenú trasu pre stránku s učiteľmi.

V súbore root.jsx v menu pre 'Učitelia' nahraďte tag a NavLink, ako je ukázané v lekcii. Urobte to tak, aby sa aktívny odkaz v menu nejako zvýraznil, pridaním štýlov do index.css.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť