⊗jsrtPmRtGSP 35 of 47 menu

Caricamento dei dati della pagina dai parametri URL dall'archivio in React Router

Ora possiamo aggiungere prodotti alla nostra applicazione. Avvia l'applicazione, aggiungi con il pulsante un paio di prodotti. Se ora clicchiamo sui prodotti stessi nell'elenco, vedremo che ogni prodotto ha ancora una pagina statica identica, ed è questo che affronteremo in questa e nelle prossime lezioni.

È necessario notare anche un altro punto. In generale, l'intero URL è diviso in segmenti - queste sono le parti dell'URL tra i caratteri /. Probabilmente ricordi che durante la creazione di questa applicazione abbiamo specificato il percorso 'products/:productId', bene, :productId qui è chiamato segmento dinamico. Prima di esso viene posto il simbolo ':'. I valori in questo segmento cambieranno, sono proprio loro che finiscono nei parametri URL (URL Params o params), che vengono passati al loader sotto una certa chiave, nel nostro caso sarà params.productId.

Dai un'occhiata alla barra degli indirizzi nel browser, quando clicchi sui prodotti nell'elenco. Vedrai, che l'ultimo segmento nella barra degli indirizzi cambia, sono proprio questi valori che finiranno nel loader. E i nostri prodotti nell'archivio hanno un id unico generato da noi, quindi ci verrà caricato il prodotto di cui abbiamo bisogno.

E ora, dopo una piccola digressione, lavoriamo finalmente sulla pagina del prodotto, o più specificamente - sul caricamento dei dati dall'archivio.

Ripetiamo il processo familiare. Per prima cosa in forStorage.js aggiungiamo la funzione getProduct per ottenere i dati di un prodotto specifico dall'archivio tramite id. Qui passeremo alla funzione id e, di conseguenza, se il prodotto è "cachato", allora verrà visualizzato senza ritardo:

export async function getProduct(id) { await someNetwork(`product:${id}`); }

Successivamente, dobbiamo ottenere l'array dei prodotti e tra questi trovare il nostro prodotto tramite l' id passato:

export async function getProduct(id) { await someNetwork(`product:${id}`); let products = await localforage.getItem('products'); let product = products.find((product) => product.id === id); return product ?? null; }

Prendi l'applicazione creata da te nei compiti delle lezioni precedenti. Usando il materiale della lezione, crea in forStorage.js la funzione getStudent per ottenere i dati di uno studente tramite id.

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