⊗jsrtPmRtDR 45 of 47 menu

Eliminazione di una rotta in React Router

La funzione per eliminare i dati dal magazzino l'abbiamo scritta. Ora aggiungiamo al layout della pagina del prodotto un pezzo di codice con un pulsante per eliminare il prodotto. Aggiungiamolo subito dopo il pulsante di modifica. Racchiudiamo entrambi i moduli con i pulsanti in un div #control. Poi in action scriviamo il valore 'delete'. Aggiungeremo anche una finestra di dialogo in modo che l'utente confermi ancora una volta - se vuole eliminare il prodotto:

<div id="control"> <Form action="edit"> <button type="submit">modifica</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Vuoi eliminare questo prodotto?')) { event.preventDefault(); } }} > <button type="submit">elimina</button> </Form> </div>

Aggiungiamo anche un po' di stili al nostro file CSS:

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

E ora creeremo una nuova rotta per l'eliminazione del prodotto. Per fare questo aprite la cartella routes e create al suo interno il file delete.jsx. Aggiungiamo subito l'import di redirect e della funzione di eliminazione deleteProduct:

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

E poi, naturalmente, scriviamo la nostra funzione action, che chiamerà deleteProduct in base all'id, e dopo l'eliminazione ci reindirizzerà alla pagina principale:

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

Ci resta solo di aprire main.jsx. Importare la nostra action:

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

E impostarla come valore per il metodo action della rotta di eliminazione. L'oggetto stesso della rotta lo aggiungeremo alla fine dell'array children:

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

Ora possiamo cliccare su un prodotto a caso ed eliminarlo tramite il pulsante di eliminazione. Potete dare un'occhiata a localforage nel pannello dello sviluppatore e verificarlo.

Prendete l'applicazione creata da voi nei compiti delle lezioni precedenti. Utilizzando il materiale della lezione, aggiungete un pulsante per eliminare lo studente, create una nuova rotta per l'eliminazione, aggiungetela alle rotte figlie. Assicuratevi che tutto funzioni.

Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta