⊗jsrtPmRtDR 45 of 47 menu

Ta bort en rutt i React Router

Vi har skrivit funktionen för att ta bort data från lagringen. Låt oss nu lägga till en del kod med en knapp för att ta bort produkten i sidans utseende. Vi lägger till den direkt efter redigeringsknappen. Vi omsluter båda formulären med knappar i en div #control. Sedan i action skriver vi värdet 'delete'. Vi lägger också till en dialogruta så att användaren kan bekräfta igen - om hen verkligen vill ta bort produkten:

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

Låt oss också lägga till lite stilar i vår CSS-fil:

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

Och nu ska vi skapa en ny rutt för att ta bort produkten. För att göra detta, öppna mappen routes och skapa filen delete.jsx i den. Låt oss lägga till importen av redirect och borttagningsfunktionen deleteProduct direkt:

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

Och sedan, naturligtvis, skriver vi vår funktion action, som kommer att anropa deleteProduct med id, och efter borttagningen omdirigera oss till startsidan:

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

Allt som återstår för oss är att öppna main.jsx. Importera vår action:

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

Och ställ in den som värde för metoden action i borttagningsrutten. Själva ruttobjektet lägger vi till i slutet av arrayen children:

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

Nu kan vi klicka på någon produkt och ta bort den med hjälp av borttagningsknappen. Du kan kolla in localforage i utvecklarpanelen och verifiera detta.

Ta applikationen du skapade i uppgifterna från tidigare lektioner. Använd lektionens material, lägg till en knapp för att ta bort en student, skapa en ny rutt för borttagning, lägg till den i barnrutterna. Se till att allt fungerar.

Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa