⊗jsrtPmRtDR 45 of 47 menu

Marsruudi kustutamine React Routeris

Andmete hoidlast kustutamise funktsiooni oleme kirjutanud. Lisame nüüd lehe veerustusse toote lehel koodilõigu kustutamise nupuga. Lisame selle kohe pärast muutmise nuppu. Mõlemad vormid koos nuppudega pakendame div'i #control. Seejärel kirjutame action väärtuseks 'delete'. Lisaks lisame dialoogiakna, et kasutaja saaks veel kord kinnitada, kas ta soovib toote kustutada:

<div id="control"> <Form action="edit"> <button type="submit">muuda</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Kas soovite selle toote kustutada?')) { event.preventDefault(); } }} > <button type="submit">kustuta</button> </Form> </div>

Lisame oma CSS faili ka mõned stiilid:

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

Ja nüüd loome uue marsruudi toote kustutamiseks. Selleks avage kaust routes ja looge selles fail delete.jsx. Lisame sinna kohe import'i redirect ja kustutusfunktsiooni deleteProduct:

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

Ja siis loomulikult kirjutame oma funktsiooni action, mis kutsub välja deleteProduct vastavalt id-le, ja pärast kustutamist suunab meid avalehele:

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

Meil jääb üle vaid avada main.jsx. Importida oma action:

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

Ja määrata see väärtuseks meetodile action kustutamise marsruudil. Marsruudi objekti lisame massiivi children lõppu:

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

Nüüd saame klõpsata mõnel tootel ja kustutada selle kustutamisnupu abil. Võite vaadata arendajapaneeli localforage'i ja selles veenduda.

Võtke rakendus, mille lõite ülesannetes eelmiste tundide jaoks. Kasutades tunni materjale, lisage nupp õpilase kustutamiseks, looge uus kustutamise marsruut, lisage see alammarsruutidesse. Veenduge, et kõik töötab.

Eesti
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Me kasutame saidi toimimiseks, analüüsi ja personaliseerimiseks küpsiseid. Andmete töötlemine toimub vastavalt Privaatsuspoliitikale.
nõustu kõigega häälesta keeldu