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.