⊗jsrtPmRtDR 45 of 47 menu

Löschen einer Route in React Router

Die Funktion zum Löschen von Daten aus dem Speicher haben wir geschrieben. Lasst uns jetzt im Layout der Produktseite einen Codeabschnitt mit einer Schaltfläche zum Löschen des Produkts hinzufügen. Wir fügen ihn direkt nach der Bearbeitungsschaltfläche hinzu. Wir werden beide Formulare mit Schaltflächen in ein Div #control einpacken. Dann schreiben wir in action den Wert 'delete'. Außerdem fügen wir ein Dialogfeld hinzu, damit der Benutzer noch einmal bestätigen muss - ob er das Produkt wirklich löschen möchte:

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

Fügen wir auch noch etwas Stil in unsere CSS-Datei:

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

Und jetzt erstellen wir eine neue Route zum Löschen des Produkts. Öffnen Sie dazu den Ordner routes und erstellen Sie darin die Datei delete.jsx. Fügen wir sofort den Import von redirect und der Löschfunktion deleteProduct hinzu:

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

Und dann schreiben wir natürlich unsere action-Funktion, die deleteProduct anhand der id aufruft und uns nach dem Löschen zur Hauptseite weiterleitet:

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

Jetzt müssen wir nur noch main.jsx öffnen. Unsere action importieren:

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

Und sie als Wert für die action-Methode der Löschroute setzen. Das Route-Objekt selbst fügen wir am Ende des Arrays children hinzu:

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

Jetzt können wir auf ein beliebiges Produkt klicken und es mit der Löschen-Schaltfläche entfernen. Sie können in den localforage der Entwicklertools nachsehen und sich davon überzeugen.

Nehmen Sie die Anwendung, die Sie in den Aufgaben der vorherigen Lektionen erstellt haben. Verwenden Sie die Materialien der Lektion, fügen Sie eine Schaltfläche zum Löschen eines Studenten hinzu, erstellen Sie eine neue Route für das Löschen und fügen Sie sie den untergeordneten Routen hinzu. Stellen Sie sicher, dass alles funktioniert.

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen