⊗jsrtPmRtDR 45 of 47 menu

Suppression de route dans React Router

Nous avons écrit la fonction pour supprimer les données du stockage. Maintenant, ajoutons dans le rendu de la page produit un morceau de code avec un bouton pour supprimer le produit. Ajoutons-le immédiatement après le bouton d'édition. Englobons les deux formulaires avec boutons dans une div #control. Puis dans action nous écrirons la valeur 'delete'. Nous ajouterons également une boîte de dialogue pour que l'utilisateur confirme à nouveau - souhaite-t-il supprimer le produit :

<div id="control"> <Form action="edit"> <button type="submit">edit</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Do you want to delete this product?')) { event.preventDefault(); } }} > <button type="submit">delete</button> </Form> </div>

Ajoutons également quelques styles dans notre fichier CSS :

div#control { display: flex; } button { margin-right: 5px; }

Et maintenant, nous allons créer une nouvelle route pour la suppression du produit. Pour cela, ouvrez le dossier routes et créez-y le fichier delete.jsx. Ajoutons-y immédiatement l'import de redirect et de la fonction de suppression deleteProduct :

import { redirect } from 'react-router-dom'; import { deleteProduct } from '../forStorage';

Puis, naturellement, nous écrivons notre fonction action, qui appellera deleteProduct via id, et après la suppression nous redirigera vers la page principale :

export async function action({ params }) { await deleteProduct(params.productId); return redirect('/'); }

Il ne nous reste plus qu'à ouvrir main.jsx, d'importer notre action :

import { action as deleteAction } from './routes/delete';

Et à la définir comme valeur pour la méthode action de la route de suppression. L' objet de route lui-même, nous l'ajouterons à la fin du tableau children :

{ path: 'products/:productId/delete', action: deleteAction, },

Maintenant, nous pouvons cliquer sur un produit et le supprimer à l'aide du bouton de suppression. Vous pouvez regarder dans le localforage du panneau de développement et vous en assurer.

Prenez l'application que vous avez créée dans les travaux dirigés des leçons précédentes. En utilisant le matériel de la leçon, ajoutez un bouton pour supprimer un étudiant, créez une nouvelle route pour la suppression, ajoutez-la dans les routes enfants. Assurez-vous que tout fonctionne.

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