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

124
Vistas
¿Cómo hago para que el componente principal permanezca mientras cambio entre otros componentes en el enrutador de reacción v6?

Por lo tanto, tengo una página de AdminScreen donde tengo algunos encabezados y una UL y debajo de la cual quiero definir algunos enlaces y cuando un usuario hace clic en ese enlace, quiero mostrar algún componente (pero quiero los encabezados y la UL de la página de AdminScreen quedarse allí).

En el enrutador de reacción v5, solo usaría el interruptor y definiría mis rutas y funcionaría. Pero no tengo idea de qué hacer con el enrutador de reacción v6. Intenté esto:

 <ul className="admin-functions"> <li> <Link to="/admin/userslist"> Users List </Link> </li> <li> <a href="/admin/pizzaslist"> Pizzas List </a> </li> <li> <a href="/admin/addpizza"> Add New Pizza </a> </li> <li> <a href="/admin/orderslist"> Orders List </a> </li> </ul> <Routes> <Route path="/admin/userslist" element={ <AdminRoute> <UsersList /> </AdminRoute> } /> <Route path="/admin/pizzaslist" element={ <AdminRoute> <PizzasList /> </AdminRoute> } /> </Routes>

Pero, no funciona.

Por cierto, AdminRoute es solo la ruta para determinar si el usuario que ha iniciado sesión es administrador. Está funcionando bien en AdminScreen. De todos modos, aquí está el código para ello:

 import { Navigate } from "react-router-dom"; import React from "react"; import { useSelector } from "react-redux"; const AdminRoute = ({ children }) => { const loginUserReducer = useSelector((state) => state.loginUserReducer); const { userInfo } = loginUserReducer; const useAuth = () => { const user = localStorage.getItem("userInfo") && Object.entries(userInfo).length > 0; if (user && userInfo.isAdmin) { return true; } else { return false; } }; const auth = useAuth(); return auth?children: <Navigate to="/login"/> }; export default AdminRoute;

PD: ¿Cómo uso reaccionar enrutador v6 para cambiar entre componentes en un componente principal no responde a mi pregunta?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Entonces, lo descubrí:

En mi App.js, agregue un comodín al enlace del componente de la pantalla de administración:

 <Route path="/admin/*" element={ <AdminRoute> <AdminScreen /> </AdminRoute> } />

En el componente AdminScreen, cambie las rutas de ruta a:

 <Route path="userslist" element={ <AdminRoute> <UsersList /> </AdminRoute> } />
about 4 years ago · Juan Pablo Isaza 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