⊗jsrtPmRtNFE 25 of 47 menu

Tratamento de erro Not Found no React Router

Ao criar um aplicativo, é preciso prestar atenção ao aparecimento de vários erros durante o seu uso posterior. Nesta lição, aprenderemos a trabalhar com o erro 'Not Found'. Esse erro pode aparecer, por exemplo, se um usuário clicar em um link que leva a uma página que não existe.

Para começar, vamos abrir nosso aplicativo, que fizemos nas lições anteriores, e substituir a marcação do componente Root. Agora, ao iniciar o aplicativo, teremos uma lista de dois produtos exibida:

function Root() { return ( <nav> <a href={`/products/1`}>Product1</a> <a href={`/products/2`}>Product2</a> </nav> ); } export default Root;

Vamos adicionar alguns estilos ao index.css:

body { font-size: 18px; line-height: 1.5; } nav { display: flex; flex-direction: column; } a { text-decoration: none; color: blue; }

E agora clique nos links. Como não temos layouts de página para nossos produtos, os links nos levarão apenas para uma tela com o erro '404 Not Found' e uma reprimenda por não termos conseguido inventar algo mais bonito e interessante do que o que o React Router exibiu para nós por padrão.

Vamos criar nossa própria página, que será exibida caso ocorra um erro 404. Para isso, na pasta src, crie um arquivo error-page-404.jsx.

Dentro do componente React ErrorPage404, usaremos o hook useRouteError para capturar o erro, que registraremos no console:

import { useRouteError } from 'react-router-dom'; function ErrorPage404() { const error = useRouteError(); console.error(error); } export default ErrorPage404;

Em seguida, na marcação do componente ErrorPage404, exibiremos alguns cabeçalhos informando sobre o erro e mostraremos propriedades do objeto error, como statusText e data (o objeto error e suas propriedades também podem ser vistos se você abrir o console e começar a clicar em nossos links no aplicativo).

return ( <div> <h1>Oi! Esta é uma Página de Erro</h1> <h2>Erro 404 Não Encontrado</h2> <p> <i>{error.statusText}</i> </p> <p> <i>{error.data}</i> </p> </div> );

Certifique-se de abrir o arquivo main.jsx e adicionar mais uma linha de importação para ErrorPage404:

import ErrorPage404 from './error-page-404';

E também adicione mais uma propriedade errorElement ao objeto Router - este elemento é exibido quando um erro ocorre nesta rota. O valor do elemento de erro será nosso componente ErrorPage404:

const router = createBrowserRouter([ { path: '/', element: <Root />, errorElement: <ErrorPage404 />, }, ]);

Pegue o aplicativo criado por você na tarefa da lição anterior. Adicione à página inicial uma lista composta por alguns links, como mostrado na lição. Deixe os valores de href dos links como /students/1 e /students/2, e o texto dos links como 'Student1' e 'Student2', respectivamente. Certifique-se de que, ao clicar nos links, apareça uma tela com o erro que o React Router exibe por padrão.

E agora crie sua própria página separada de erro 404, você pode exibir nela o que quiser. Conecte-a, como mostrado na lição. E agora verifique se, ao clicar nos links, você é direcionado para ela.

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