⊗jsrtPmRtULD 31 of 47 menu

Utilizzo dei dati ottenuti dal loader in React Router

Nella lezione precedente abbiamo ottenuto i dati dal magazzino utilizzando loader. Per utilizzare questi dati, useremo l'hook useLoaderData. Apriamo il file root.jsx e aggiungiamo l'hook nell'import:

import { Outlet, Link, useLoaderData } from 'react-router-dom';

Nella funzione Root ora otterremo i dati nella costante products e lavoreremo con essa. Se abbiamo dei prodotti, la lista verrà visualizzata, altrimenti visualizzeremo nel paragrafo 'no products here ...'. Nel tag nav ora utilizziamo un ciclo standard per visualizzare i prodotti ottenuti. Ogni elemento sarà avvolto nel componente Link e l'indirizzo sarà unico per ciascuno (ne parleremo più tardi). Di conseguenza, se un prodotto non ha un nome, verrà visualizzato 'Unnamed' per impostazione predefinita. Quindi, tenendo conto di quanto sopra, ora il nostro codice per la funzione Root sarà così:

function Root() { const { products } = useLoaderData(); return ( <div id="main"> {products.length ? ( <nav> {products.map((product) => ( <Link key={product.id} to={`products/${product.id}`}> {product.name ? product.name : <i>Unnamed</i>} </Link> ))} </nav> ) : ( <p><i>no products here ...</i></p> )} <div id="product"> <Outlet /> </div> </div> ); }

Se ora riavviamo l'applicazione e andiamo sulla pagina principale, vedremo solo 'no products here ...', poiché non abbiamo ancora inserito nessun prodotto nel magazzino.

Prendi l'applicazione creata da te nei compiti delle lezioni precedenti. Usando i materiali della lezione, aggiungi la visualizzazione dei dati ottenuti dal loader con gli studenti, come descritto nella lezione.

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