Resolvido: Use o aplicativo History React Router v6

O principal problema relacionado ao uso do History React Router v6 รฉ que ele nรฃo suporta roteamento baseado em hash. Isso significa que todas as URLs devem ser caminhos absolutos, o que pode dificultar o gerenciamento e a manutenรงรฃo do aplicativo. Alรฉm disso, nรฃo hรก suporte interno para rotas dinรขmicas, o que pode ser um problema ao criar aplicativos complexos com vรกrias pรกginas. Por fim, o History React Router v6 nรฃo fornece nenhum suporte para renderizaรงรฃo do lado do servidor, o que pode ser necessรกrio em alguns casos.

import {
  BrowserRouter as Router,
  Switch,
  Route,
  useHistory,
} from "react-router-dom";

 function App() {

   const history = useHistory();

   // Handle a button click to push a new entry onto the history stack.
   function handleClick() {
     history.push("/new-location");
   }

   return (
     <div>      
       <button type="button" onClick={handleClick}>Go to New Location</button>       

       <Switch>        
         <Route path="/new-location">          
           <NewLocation />        
         </Route>      

       </Switch>    

     </div>   ); }

// Este cรณdigo importa os componentes BrowserRouter, Switch, Route e useHistory da biblioteca react-router-dom.
// Em seguida, ele cria uma funรงรฃo chamada App que usa o hook useHistory para criar um objeto de histรณrico.
// Este objeto de histรณrico รฉ usado em uma funรงรฃo chamada handleClick que empurra uma nova entrada para a pilha de histรณrico quando รฉ chamada.
// A funรงรฃo App entรฃo retorna algum JSX que inclui um botรฃo com um manipulador onClick que chama handleClick quando clicado.
// Finalmente, hรก um componente Switch com um componente Route dentro dele que renderiza o componente NewLocation quando seu caminho corresponde a โ€œ/new-locationโ€.

O que รฉ usarHistรณria

useHistory รฉ um React Hook fornecido pelo React Router que permite que os componentes acessem o objeto de histรณrico para navegar programaticamente. Ele pode ser usado para enviar novos locais para a pilha de histรณrico, substituir o local atual, ir e voltar no histรณrico, etc.

Como faรงo para obter o histรณrico de rota em reagir

No React Router, vocรช pode obter o histรณrico da rota usando o hook useHistory. Esse gancho dรก acesso ร  instรขncia do histรณrico que vocรช pode usar para navegar, ir e voltar no histรณrico do seu aplicativo e muito mais. Para utilizรก-lo, basta importar o hook do React Router e depois chamรก-lo em seu componente:

importar { useHistory } de 'react-router-dom';

const MeuComponente = () => {
histรณrico const = useHistory();

// Agora vocรช pode acessar o histรณrico da rota atravรฉs do objeto `history`.

Retorna (โ€ฆ);
}

O roteador de reaรงรฃo usa API de histรณrico

Sim, o React Router usa a API de histรณrico do HTML5 para acompanhar o local atual e seu histรณrico. Isso permite que o React Router atualize a pรกgina sem precisar recarregรก-la, tornando a navegaรงรฃo mais rรกpida e suave. A API de histรณrico tambรฉm permite links diretos, o que torna mais fรกcil para os usuรกrios compartilhar links que os levam diretamente a uma pรกgina especรญfica em um aplicativo.

Artigos relacionados:

Deixe um comentรกrio