Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

223
Visualizações
Forzar la navegación a la pantalla de inicio de sesión en Refresh React Router Dom

Obtuve un caso de uso en el que el cliente debe ir a la pantalla de inicio de sesión en la actualización del navegador. ejemplo:

 import "./styles.css"; import { Route, Routes, BrowserRouter as Router, Outlet, Link } from "react-router-dom"; import { useEffect, useLayoutEffect,StrictMode } from "react"; import { createRoot } from "react-dom/client"; root.render( <StrictMode> <App /> </StrictMode> ); export default function App() { return <Main />; } const Main = () => { return ( <Router> <Routes> <Route path="/" element={<LayoutMain />}> <Route path="/" element={<div>Home</div>} /> <Route path="/login" element={<div>Login</div>} /> <Route path="/register" element={<div>Regster</div>} /> </Route> <Route path="/inner" element={<InnerLayout />}> <Route path="/inner/" element={<div>Home Inner</div>} /> <Route path="/inner/login" element={<div>LoginInner</div>} /> <Route path="/inner/register" element={<div>RegsterInner</div>} /> </Route> </Routes> </Router> ); }; const LayoutMain = () => { return ( <div> Main Header <Link to="">Home</Link> <Link to="login">Login</Link> <Link to="register">Register</Link> <Link to="inner">inner</Link> <div> <Outlet /> </div> </div> ); }; const InnerLayout = () => { useEffect(() => { console.log(1); }, []); return ( <div> Inner Header <Link to="">HomeI </Link> <Link to="/inner/login">LoginI </Link> <Link to="/inner/register">RegisterI </Link> <div> <Outlet /> </div> </div> ); };

Si trato de actualizar, va a la ruta adecuada, pero no quiero este comportamiento, debería ir a la pantalla de inicio de sesión al actualizar.

Cómo lograrlo usando reaccionar enrutador dom v6

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Sugiero mover el Router hacia arriba en ReactTree y usar un useEffect de montaje para emitir una redirección imperativa cuando se monta el componente de la App .

Ejemplo:

 import "./styles.css"; import { Route, Routes, BrowserRouter as Router, Outlet, Link, useNavigate, } from "react-router-dom"; import { useEffect, useLayoutEffect, StrictMode } from "react"; import { createRoot } from "react-dom/client"; root.render( <StrictMode> <Router> <App /> </Router> </StrictMode> );

...

 export default function App() { const navigate = useNavigate(); useEffect(() => { navigate("/login", { replace: true }); }, []); return <Main />; }

...

 const Main = () => { return ( <Routes> <Route path="/" element={<LayoutMain />}> <Route path="/" element={<div>Home</div>} /> <Route path="/login" element={<div>Login</div>} /> <Route path="/register" element={<div>Regster</div>} /> </Route> <Route path="/inner" element={<InnerLayout />}> <Route path="/inner/" element={<div>Home Inner</div>} /> <Route path="/inner/login" element={<div>LoginInner</div>} /> <Route path="/inner/register" element={<div>RegsterInner</div>} /> </Route> </Routes> ); };
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda