useNavigate useNavigate: Navegação Imperativa
Última atualização: 2026-11-03
useNavigate useNavigate: Navegação Imperativa
O useNavigate retorna uma função navigate: ir para a página inicial após entrar, voltar para a lista após um envio, expulsar usuários anônimos para a página de login — todos esses saltos comandados pelo código a usam. navigate(to) avança, navigate(-1) volta, e você pode passar replace e state junto. É a contraparte imperativa do Link e a ferramenta de escolha sempre que o código, e não o usuário, decide para onde ir em seguida.
| Grupo | Roteamento e Gerenciamento |
|---|---|
| Tipo | Hook |
| Desde | React Router 6.4 |
ℹ️ Informação O editor transpila JSX para JavaScript e renderiza a UI real na sandbox; os componentes são montados automaticamente — sem render manual.
📝 Sintaxe
import { useNavigate } from 'react-router-dom'
function LoginButton() {
const navigate = useNavigate()
return (
<button onClick={() => {
// Navigate after a successful login; replace leaves no history entry
navigate('/dashboard', { replace: true })
}}>Sign in</button>
)
}
// navigate(-1) is the browser back button
// navigate('/detail', { state: { from: 'home' } }) carries hidden state
⚙️ Parâmetros
| to | O destino: uma string de caminho ('/home'), um número (-1 para voltar) ou um objeto da forma { pathname, search }. |
|---|---|
| options | O segundo argumento: { replace: true } substitui a entrada do histórico, { state } carrega dados que não aparecem na barra de endereços. |
Retorna:Retorna a função navigate(to, options?): chamá-la dispara o salto; ela não renderiza UI e apenas muda a rota.
▶ Exemplo
O exemplo roda direto: renderiza automaticamente ao expandir e edições valem na hora.
Saída:
Clicar em "Ir para login" anexa login à pilha do histórico; "voltar para casa com replace" sobrescreve a entrada do topo sem deixar rastro; "Voltar" desempilha e retorna à página anterior — os comportamentos push, replace e back do navigate (demonstração simulada).