Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗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