⊗jsrtPmRtDR 45 of 47 menu

React Router-də Marşrutun Silinməsi

Məlumatları anbardan silmək üçün funksiyanı yazdıq. Gəlin indi məhsul səhifəsinin dizaynına məhsulu silmək üçün düyməsi olan bir kod parçası əlavə edək. Onu redaktə düyməsindən dərhal sonra yerləşdirək. Hər iki düymə formasını #control div-inə qoyaq. Sonra action-də 'delete' dəyərini yazacağıq. Həmçinin, istifadəçinin məhsulu silmək istədiyini bir daha təsdiqləməsi üçün bir dialoq pəncərəsi əlavə edəcəyik:

<div id="control"> <Form action="edit"> <button type="submit">edit</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Bu məhsulu silmək istəyirsiniz?')) { event.preventDefault(); } }} > <button type="submit">delete</button> </Form> </div>

Gəlin CSS faylımıza da bəzi stillər əlavə edək:

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

İndi isə məhsulu silmək üçün yeni bir marşrut yaradacağıq. Bunun üçün routes qovluğunu açın və içində delete.jsx faylı yaradın. Ona dərhal redirect və silmə funksiyasını deleteProduct import edək:

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

Və sonra, təbii ki, id-ə görə deleteProduct-i çağıracaq və silindikdən sonra bizi ana səhifəyə yönləndirəcək action funksiyamızı yazırıq:

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

Bizə yalnız main.jsx-i açmaq qalır. action-ımızı import edək:

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

Və onu silmə marşrutunun action metodu üçün dəyər kimi təyin edək. Marşrut obyektinin özünü children massivinin sonuna əlavə edəcəyik:

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

İndi hər hansı bir məhsula klikləyə və silmə düyməsindən istifadə edərək onu silə bilərik. Bunu yoxlamaq üçün inkişaf etdirici panelinin localforage hissəsinə baxa bilərsiniz.

Əvvəlki dərslərin tapşırıqlarında yaratdığınız tətbiqi götürün. Dərsin materiallarından istifadə edərək, tələbəni silmək üçün düymə əlavə edin, silmə üçün yeni marşrut yaradın, onu uşaq marşrutlarına əlavə edin. Hər şeyin işlədiyinə əmin olun.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et