⊗jsrtPmRtULD 31 of 47 menu

Utilisation des données obtenues par le chargeur dans React Router

Dans la leçon précédente, nous avons obtenu des données du stockage en utilisant loader. Pour utiliser ces données, nous utiliserons le hook useLoaderData. Ouvrons le fichier root.jsx et ajoutons le hook dans l'import :

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

Dans la fonction Root, nous obtiendrons maintenant les données dans la constante products et nous travaillerons avec elle. Si nous avons des produits, la liste s'affichera, sinon, nous afficherons dans un paragraphe 'no products here ...'. Dans la balise nav nous utilisons maintenant une boucle standard pour afficher les produits obtenus. Chaque élément sera enveloppé dans un composant Link et l'adresse sera spécifique à chacun (nous en parlerons plus tard). En conséquence, si un produit n'a pas de nom, 'Unnamed' sera affiché par défaut. Ainsi, compte tenu de ce qui précède, notre code pour la fonction Root sera maintenant :

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> ); }

Si nous redémarrons l'application maintenant et allons sur la page d'accueil, nous verrons seulement 'no products here ...', puisque nous n'avons encore mis aucun produit dans le stockage.

Prenez l'application que vous avez créée dans les travaux pratiques des leçons précédentes. En utilisant le matériel de la leçon, ajoutez l'affichage des données obtenues à partir du chargeur concernant les étudiants, comme décrit dans la leçon.

Français
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nous utilisons des cookies pour le fonctionnement du site, l'analyse et la personnalisation. Le traitement des données est effectué conformément à la Politique de confidentialité.
accepter tout personnaliser refuser