Redirecionamento de páginas
O React Router DOM fornece o hook useNavigate
para permitir o redirecionamento programático em uma aplicação React. Este hook pode ser usado para navegar para uma rota específica em resposta a uma ação do usuário ou a um evento.
Para utilizar o hook useNavigate
do React Router DOM para redirecionar para uma rota específica em um aplicativo React, você pode seguir o seguinte exemplo:
import { useEffect, useState, useRef } from 'react';
import { useNavigate } from 'react-router-dom';
function Redirect() {
const [time, setTime] = useState(3);
const timeout = useRef(0);
const navigate = useNavigate();
useEffect(() => {
clearTimeout(timeout.current);
timeout.current = setTimeout(() => {
setTime((t) => t - 1);
}, 1000);
if (time <= 0) {
navigate('/');
}
return () => {
clearTimeout(timeout.current);
};
}, [time]);
return <h1>Redirecionando em {time}...</h1>;
}
Neste exemplo, o hook useNavigate
é utilizado para obter a função navigate
, que pode ser usada para navegar programaticamente para outra rota. Quando o usuário acessa a rota /redirect
um contador de 3 segundos é acionado para redirecioná-lo para a página Home
.