⊗jsrtPmRtGSP 35 of 47 menu

Chargement des données de page à partir des paramètres URL depuis le stockage dans React Router

Maintenant, nous pouvons ajouter des produits à notre application. Lancez l'application, ajoutez avec le bouton quelques produits. Si nous cliquons maintenant sur les produits eux-mêmes dans la liste, nous verrons que chaque produit a pour l'instant la même page statique, c'est ce dont nous nous occuperons dans cette leçon et les suivantes.

Il est également nécessaire de noter un autre point. De manière générale, toute URL est divisée en segments - ce sont les parties de l'URL entre les caractères /. Vous vous souvenez probablement qu'à la création de cette application, nous avons indiqué le chemin 'products/:productId', eh bien :productId est appelé ici un segment dynamique. Il est précédé du symbole ':'. Les valeurs dans ce segment vont changer, ce sont elles qui arrivent dans les paramètres URL (URL Params ou params), qui sont transmis au chargeur sous une clé spécifique, dans notre cas ce sera params.productId.

Jetez un œil à la barre d'adresse du navigateur, lorsque vous cliquez sur les produits dans la liste. Vous verrez que le dernier segment dans la barre d'adresse change, ce sont précisément ces valeurs qui arriveront dans le chargeur. Et nos produits dans le stockage ont un id unique généré par nous, ainsi le produit dont nous avons besoin sera chargé.

Et maintenant, après cette petite digression, travaillons enfin sur la page du produit, plus précisément - sur le chargement des données depuis le stockage.

Répétons le processus familier. Pour commencer, dans forStorage.js ajoutons la fonction getProduct pour obtenir les données d'un produit spécifique du stockage par son id. Ici, nous allons transmettre à la fonction le id et, par conséquent, si le produit est "mis en cache", alors il sera affiché sans délai :

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

Ensuite, nous devons obtenir le tableau des produits et parmi eux trouver notre produit par l'id transmis :

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

Prenez l'application que vous avez créée dans les exercices des leçons précédentes. En utilisant le matériel de la leçon, créez dans forStorage.js la fonction getStudent pour obtenir les données d'un étudiant par son id.

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