⊗jsrtPmRtDR 45 of 47 menu

Maršruto pašalinimas React Router

Mes parašėme funkciją duomenų šalinimui iš saugyklos. Dabar į produkto puslapio išdėstymą pridėkime kodo fragmentą su mygtuku produkto pašalinimui. Pridėkime jį iškart po redagavimo mygtuko. Apgaubkime abi formules su mygtukais į div #control. Tada į action įrašykime reikšmę 'delete'. Taip pat pridėsime dialogą, kad vartotojas dar kartą patvirtintų - ar jis nori ištrinti produktą:

<div id="control"> <Form action="edit"> <button type="submit">redaguoti</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Ar norite ištrinti šį produktą?')) { event.preventDefault(); } }} > <button type="submit">ištrinti</button> </Form> </div>

Pridėkime ir šiek tiek stilių į mūsų CSS failą:

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

O dabar sukursime naują maršrutą produkto pašalinimui. Tam atidarykite katalogą routes ir jame sukurkite failą delete.jsx. Pridėkime į jį iškart importą redirect ir pašalinimo funkciją deleteProduct:

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

Ir tada, žinoma, rašome mūsų funkciją action, kuri iškvies deleteProduct pagal id, o po ištrynimo nukreips mus į pagrindinį puslapį:

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

Mums belieka tik atidaryti main.jsx. Importuoti mūsų action:

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

Ir nustatyti jį kaip reikšmę metodui action šalinimo maršruto. Patį maršruto objektą pridėsime į masyvo children pabaigą:

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

Dabar mes galime paspausti bet kurį produktą ir jį ištrinti naudojant mygtuką pašalinimui. Galite pažiūrėti į "localforage" naršyklės kūrėjo skydelyje ir tuo įsitikinti.

Paimkite programą, kurią sukūrėte užduotyse ankstesnėse pamokose. Naudodamiesi pamokos medžiaga, pridėkite mygtuką studento pašalinimui, sukurkite naują maršrutą pašalinimui, pridėkite jį į antrinius maršrutus. Įsitikinkite, kad viskas veikia.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti