⊗jsrtPmRtDR 45 of 47 menu

Brisanje poti v React Router

Funkcijo za brisanje podatkov iz shrambe smo napisali. Dajmo zdaj dodati v razporeditev strani izdelka kos kode z gumbom za brisanje izdelka. Dodajmo ga takoj za gumbom za urejanje. Ovojmo obe obrazci z gumbi v div #control. Nato v action zapišimo vrednost 'delete'. Prav tako bomo dodali pogovorno okno, da se uporabnik še enkrat potrdi - ali želi izbrisati izdelek:

<div id="control"> <Form action="edit"> <button type="submit">uredi</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Ali res želite izbrisati ta izdelek?')) { event.preventDefault(); } }} > <button type="submit">izbriši</button> </Form> </div>

Dodajmo tudi nekaj stilov v našo CSS datoteko:

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

In zdaj bomo ustvarili novo pot za brisanje izdelka. Če želite to narediti, odprite mapo routes in v njej ustvarite datoteko delete.jsx. Dodajmo vanj takoj uvoz redirect in funkcijo za brisanje deleteProduct:

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

In nato, seveda, napišemo našo funkcijo action, ki bo klicala deleteProduct po id, in po brisanju nas preusmerila na domačo stran:

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

Ostaja nam le še, da odpremo main.jsx. Uvozimo naš action:

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

In ga nastavimo kot vrednost za metodo action poti za brisanje. Sam objekt poti bomo dodali na konec matrike children:

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

Zdaj lahko kliknemo na kateri koli izdelek in ga izbrišemo s pomočjo gumba za brisanje. Lahko pogledate v localforage razvojnega orodja in se prepričate o tem.

Vzemite aplikacijo, ki ste jo ustvarili v nalogah za prejšnje lekcije. Z uporabo gradiva lekcije dodajte gumb za brisanje študenta, ustvarite novo pot za brisanje, jo dodajte v podrejene poti. Prepričajte se, da vse deluje.

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni