⊗jsrtPmRtDR 45 of 47 menu

Slette en rute i React Router

Vi har skrevet funksjonen for å slette data fra lagringsplassen. La oss nå legge til et kodesnutt med en knapp for å slette produktet i sidens oppsett. La oss legge det til rett etter redigeringsknappen. Vi omslutter begge skjemaene med knapper i en div #control. Deretter skriver vi verdien 'delete' i action. Vi legger også til en dialogboks som spør brukeren om bekreftelse - om hen virkelig ønsker å slette produktet:

<div id="control"> <Form action="edit"> <button type="submit">rediger</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Vil du slette dette produktet?')) { event.preventDefault(); } }} > <button type="submit">slett</button> </Form> </div>

La oss også legge til noen stiler i CSS-filen vår:

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

Og nå skal vi opprette en ny rute for å slette produktet. For å gjøre dette, åpner du mappen routes og oppretter en fil i den kalt delete.jsx. La oss legge til import av redirect og slettingsfunksjonen deleteProduct med en gang:

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

Og deretter, selvfølgelig, skriver vi vår action-funksjon, som vil kalle deleteProduct med id, og etter sletting omdirigere oss til hovedsiden:

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

Alt som gjenstår for oss er å åpne main.jsx. Importere vår action:

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

Og sette den som verdi for action-metoden til slettingsruten. Selve ruteobjektet legger vi til på slutten av arrayet children:

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

Nå kan vi klikke på et hvilket som helst produkt og slette det ved hjelp av slettknappen. Du kan sjekke i localforage i utviklerverktøyene og bekrefte at det er gjort.

Ta applikasjonen du opprettet i oppgavene til de foregående leksjonene. Bruk materialet fra leksjonen til å legge til en knapp for å slette en student, opprett en ny rute for sletting, og legg den til i underrutene. Forsikre deg om at alt fungerer.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis