⊗jsrxPmRDPP 21 of 57 menu

Pagina del prodotto in Redux

In questa lezione creeremo una pagina separata per visualizzare le informazioni su un prodotto specifico.

Apriamo la nostra applicazione di prodotti e nella cartella products creiamo il file ProductPage.jsx. Come ricorderai, ogni nostro prodotto ha un id univoco. Grazie a questo id potremo generare un URL univoco per la pagina di ogni prodotto. Tradizionalmente sarà simile a: /products/id123. E l'id sarà contenuto nella sua parte dinamica (ci occuperemo della route stessa un po' più tardi).

Quindi, in ProductPage.jsx creiamo un componente vuoto ProductPage:

export const ProductPage = () => {}

La prima cosa che faremo qui è utilizzare l'hook useParams per estrarre la parte dinamica dell'URL per la pagina del prodotto in cui ci troviamo:

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

Successivamente, tramite l'id ottenuto, cercheremo il prodotto corrispondente nello slice products nello store, utilizzando l'hook a noi già familiare useSelector:

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

Non dimentichiamo di importare entrambi gli hook nel file:

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

Se il prodotto di cui abbiamo bisogno non viene trovato (ad esempio, l'utente ha inserito un indirizzo non valido), allora visualizzeremo un messaggio a riguardo sullo schermo. A questo punto il codice per il componente ProductPage dovrebbe apparire così:

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

E non ci resta che visualizzare i dati ottenuti del prodotto nel markup:

return ( <div> <h2>{product.name}</h2> <p>Descrizione: {product.desc}</p> <p>Prezzo: {product.price}</p> <p>Quantità:{product.amount}</p> </div> )

Apri la tua applicazione con gli studenti. Nella cartella students crea il file StudentPage.jsx, in cui otterrai e visualizzerai le informazioni sullo studente selezionato.

Tramite l'hook useSelector di react-redux ottieni le informazioni necessarie sullo studente, come mostrato nella lezione.

Visualizza nel componente le informazioni ottenute sullo studente sullo schermo.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta