⊗jsrxPmRDPP 21 of 57 menu

Sida för produkt i Redux

I den här lektionen ska vi skapa en separat sida för att visa information om en specifik produkt.

Öppna vår produktapplikation och i mappen products skapar vi filen ProductPage.jsx. Som du minns har varje produkt ett unikt id. Tack vare detta id kan vi generera en unik URL för varje produkts sida. Traditionellt ser den ut som: /products/id123. Och id kommer att finnas i dess dynamiska del (vi återkommer till själva routingen lite senare).

Så, låt oss i ProductPage.jsx skapa en tom komponent ProductPage:

export const ProductPage = () => {}

Det första vi gör här är att använda hooken useParams för att hämta den dynamiska delen av URL:en för produktsidan vi befinner oss på:

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

Sedan söker vi efter rätt produkt med det erhållna id:t i products-slice:n i store, med hjälp av den redan bekanta hooken useSelector:

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

Glöm inte att importera båda hookarna i filen:

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

Om den önskade produkten inte finns (till exempel om användaren har angett en felaktig adress), så visar vi information om detta på skärmen. I detta skede bör koden för komponenten ProductPage se ut så här:

export const ProductPage = () => { let params = useParams() const { productId } = params const product = useSelector((state) => state.products.find((product) => product.id === productId) ) if (!product) { return <p>Ingen sådan produkt</p> } }

Och återstår bara att visa den erhållna produktinformationen i renderingen:

return ( <div> <h2>{product.name}</h2> <p>Beskrivning: {product.desc}</p> <p>Pris: {product.price}</p> <p>Antal:{product.amount}</p> </div> )

Öppna din studentapplikation. I mappen students skapar du filen StudentPage.jsx, där du ska hämta och visa information om vald student.

Med hjälp av react-redux hooken useSelector ska du hämta nödvändig information om studenten, som visas i lektionen.

Visa den erhållna informationen om studenten i komponenten på skärmen.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa