⊗jsrxPmRDPP 21 of 57 menu

Produkto puslapis Redux

Šioje pamokoje sukursime atskirą puslapį konkretaus produkto informacijai pateikti.

Atidarykime mūsų produktų aplikaciją ir aplanke products sukurkime failą ProductPage.jsx. Kaip jūs prisimenate, kiekvienas mūsų produktas turi unikalų id. Dėl šio id mes galėsime sugeneruoti unikalų kiekvieno produkto puslapio URL. Tradiciškai jis atrodys taip: /products/id123. Ir id bus talpinama jo dinaminėje dalyje (pačiu maršrutu mes užsiimsime šiek tiek vėliau).

Taigi, ProductPage.jsx sukurkime tuščią komponentą ProductPage:

export const ProductPage = () => {}

Pirmiausia, ką mes čia padarysime - panaudosime huką useParams, kad ištrauktume dinaminę URL dalį produkto puslapiui, kuriame mes esame:

export const ProductPage = () => { let params = useParams() const { productId } = params }

Toliau pagal gautą id mes ieškosime reikiamo produkto products slaisyje (splice) store, naudodami mums jau pažįstamą huką useSelector:

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

Nepamirškime importuoti abiejų hukų į failą:

import { useSelector } from 'react-redux' import { useParams } from 'react-router-dom'

Jei reikiamo mums produkto nebus (pavyzdžiui, vartotojas įvedė neteisingą adresą), tai mes išvesime informaciją apie tai ekrane. Šiame žingsnyje kodas komponentui ProductPage turėtų atrodyti taip:

export const ProductPage = () => { let params = useParams() const { productId } = params const product = useSelector((state) => state.products.find((product) => product.id === productId) ) if (!product) { return <p>Tokio produkto nėra</p> } }

Ir mums lieka tik išvesti gautus produkto duomenis išdėstyme:

return ( <div> <h2>{product.name}</h2> <p>Aprašymas: {product.desc}</p> <p>Kaina: {product.price}</p> <p>Kiekis:{product.amount}</p> </div> )

Atidarykite savo aplikaciją su studentais. Aplanke students sukurkite failą StudentPage.jsx, kuriame jūs gausite ir pateiksite informaciją apie pasirinktą studentą.

Naudodamiesi react-redux huku useSelector gaukite reikiamą informaciją apie studentą, kaip parodyta pamokoje.

Komponente pateikite gautą informaciją apie studentą ekrane.

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