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.