⊗jsrxPmRDPP 21 of 57 menu

Stran za izdelek v Redux

V tej lekciji bomo naredili ločeno stran za prikaz informacij o določenem izdelku.

Odprimo našo aplikacijo z izdelki in v mapi products ustvarimo datoteko ProductPage.jsx. Kot se spomnite, ima vsak naš izdelek edinstven id. Zahvaljujoč temu id-ju bomo lahko generirali edinstven URL naslov strani za vsak izdelek. Tradicionalno bo videti kot: /products/id123. In id bo vsebovan v njenem dinamičnem delu (s samo potjo se bomo ukvarjali nekoliko kasneje).

Torej, v ProductPage.jsx ustvarimo prazen komponent ProductPage:

export const ProductPage = () => {}

Prva stvar, ki jo bomo naredili tukaj - uporabili bomo hook useParams, da izvlečemo dinamični del URL-ja za stran izdelka, na kateri smo:

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

Nato bomo po prejetem id-ju poiskali ustrezen izdelek v slice products v store, z uporabo nam že znanega hooka useSelector:

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

Ne pozabimo importati obeh hookov v datoteko:

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

Če želenega izdelka ne najdemo (na primer, uporabnik je vnesel napačen naslov), bomo o tem izpisali informacijo na zaslon. Na tej stopnji naj bi koda za komponent ProductPage izgledala takole:

export const ProductPage = () => { let params = useParams() const { productId } = params const product = useSelector((state) => state.products.find((product) => product.id === productId) ) if (!product) { return <p>Ni takega izdelka</p> } }

In preostane nam le še, da prejete podatke izdelka prikažemo v razporeditvi:

return ( <div> <h2>{product.name}</h2> <p>Opis: {product.desc}</p> <p>Cena: {product.price}</p> <p>Količina:{product.amount}</p> </div> )

Odprite vašo aplikacijo s študenti. V mapi students ustvarite datoteko StudentPage.jsx, v kateri boste pridobivali in prikazovali informacije o izbranem študentu.

Z react-redux hookom useSelector pridobite potrebne informacije o študentu, kot je prikazano v lekciji.

V komponentu prikažite prejete informacije o študentu na zaslon.

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
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni