Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

213
Vistas
Cuando se agrega el encabezado, la ruta protegida no se procesa

Estoy haciendo una aplicación simple que tiene una ruta protegida.

El código va como:

 function App() { return ( <> <Router> <Header /> <Routes> <Route path="/" element={<Home />} /> <Route path="/protected" element={ <PrivateRoute> <ProtectedExample /> </PrivateRoute> } /> <Route path="/sign-in" element={<Login />} /> </Routes> </Router> </> ); }

La ruta privada es:

 import { Navigate } from "react-router-dom"; import { useAuthStatus } from "../hooks/useAuthStatus"; import Spinner from "./Spinner"; const PrivateRoute = ({ children }) => { const { loggedIn, checkingStatus } = useAuthStatus(); if (checkingStatus) { return <Spinner />; } return loggedIn ? children : <Navigate to="/sign-in" />; }; export default PrivateRoute;

Ruta Protegida

 import React from "react"; const ProtectedExample = () => { return <div>ProtectedExample</div>; }; export default ProtectedExample;

Encabezado.js

 import React from "react"; import { Container, Nav, Navbar } from "react-bootstrap"; import { Link } from "react-router-dom"; const Header = () => { return ( <Navbar bg="light" variant="light" fixed="top"> <Container> <Navbar.Brand> <Link to="/">Vivans</Link> </Navbar.Brand> <Nav className="me-auto"> <Link to="/sign-in" className="me-4"> Login </Link> <Link to="/protected">ProtectedRoute</Link> </Nav> </Container> </Navbar> ); }; export default Header;

Cuando elimino el componente de encabezado en App.js

La salida es: ingrese la descripción de la imagen aquí

Pero cuando agrego un componente de encabezado en App.js

La salida es: ingrese la descripción de la imagen aquí No devuelve ProtectedExample como se esperaba.

¿Por qué?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En realidad, podría estar renderizándolo. Tal vez sea invisible para nosotros debido al estilo CSS.

 <Navbar bg="light" variant="light" fixed="top">

En la línea anterior, le ha dado a la barra de navegación que se fixed en la parte superior. Entonces el ProtectedExample estaría detrás de la NavBar de navegación.

Consulte: https://developer.mozilla.org/en-US/docs/Web/CSS/position

Intenta cambiar tu componente de esta manera,

 const ProtectedExample = () => { return <div style="margin-top: 3em">ProtectedExample</div>; };

Esto podría traer el contenido hacia abajo para hacerlo visible.

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda