⊗jsrtPmRtDR 45 of 47 menu

Excluindo uma rota no React Router

Nós escrevemos a função para excluir dados do armazenamento. Agora vamos adicionar ao layout da página do produto um trecho de código com um botão para excluir o produto. Vamos adicioná-lo logo após o botão de edição. Vamos envolver ambos os formulários com botões em uma div #control. Em seguida, no action, escreveremos o valor 'delete'. Também adicionaremos uma caixa de diálogo para que o usuário confirme novamente - se realmente deseja excluir o produto:

<div id="control"> <Form action="edit"> <button type="submit">editar</button> </Form> <Form method="post" action="delete" onSubmit={(event) => { if (!confirm('Você deseja excluir este produto?')) { event.preventDefault(); } }} > <button type="submit">excluir</button> </Form> </div>

Vamos adicionar também alguns estilos ao nosso arquivo CSS:

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

E agora vamos criar uma nova rota para excluir o produto. Para isso, abra a pasta routes e crie nela o arquivo delete.jsx. Vamos adicionar nele a importação de redirect e da função de exclusão deleteProduct:

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

E então, naturalmente, escrevemos nossa função action, que irá chamar deleteProduct pelo id, e após a exclusão nos redirecionará para a página principal:

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

Só nos resta abrir o main.jsx, importar nossa action:

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

E defini-la como valor para a propriedade action da rota de exclusão. O próprio objeto de rota vamos adicionar ao final do array children:

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

Agora podemos clicar em algum produto e excluí-lo usando o botão de exclusão. Você pode verificar no localforage do painel do desenvolvedor para confirmar.

Pegue o aplicativo que você criou nas tarefas das lições anteriores. Usando os materiais da lição, adicione um botão para excluir um estudante, crie uma nova rota para exclusão, adicione-a às rotas filhas. Certifique-se de que tudo funciona.

Português
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Nós usamos cookies para o funcionamento do site, análises e personalização. O processamento de dados é realizado de acordo com a Política de Privacidade.
aceitar todas configurar rejeitar