⊗jsrtPmRtDR 45 of 47 menu

Brisanje rute u React Routeru

Funkciju za brisanje podataka iz skladišta smo napisali. Hajde sada da dodamo u izgled stranice proizvoda deo koda sa dugmetom za brisanje proizvoda. Dodajmo ga odmah posle dugmeta za izmenu. Obuhvatimo obe forme sa dugmadima u div #control. Zatim u action upišemo vrednost 'delete'. Takođe ćemo dodati dijalog prozor, da bi korisnik još jednom potvrdio - da li želi da izbriše proizvod:

<div id="control"> <Form action="edit"> <button type="submit">izmeni</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Da li želite da izbrišete ovaj proizvod?')) { event.preventDefault(); } }} > <button type="submit">obriši</button> </Form> </div>

Dodajmo takođe nekoliko stilova u naš CSS fajl:

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

A sada ćemo kreirati novu rutu za brisanje proizvoda. Za to otvorite fasciklu routes i napravite u njoj fajl delete.jsx. Dodajmo u njega odmah import redirect i funkcije za brisanje deleteProduct:

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

A zatim, prirodno, pišemo našu funkciju action, koja će pozivati deleteProduct preko id, a nakon brisanja će nas preusmeriti na početnu stranicu:

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

Ostaje nam samo da otvorimo main.jsx. Importujemo naš action:

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

I postavimo ga kao vrednost za metod action rute za brisanje. Sam objekat rute ćemo dodati na kraj niza children:

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

Sada možemo da kliknemo na neki proizvod i da ga obrišemo pomoću dugmeta za brisanje. Možete da pogledate u localforage panela za razvoj i uverite se u to.

Uzmite aplikaciju koju ste kreirali u zadacima za prethodne lekcije. Koristeći materijale lekcije, dodajte dugme za brisanje studenta, napravite novu rutu za brisanje, dodajte je u podrute. Uverite se da sve radi.

Srpski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Koristimo kolačiće za rad sajta, analitiku i personalizaciju. Obrada podataka se vrši u skladu sa Politikom privatnosti.
prihvati sve podesi odbij