es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo convertir todas las “Route”, incluyendo “AdminRoute”, a la última versión de “react-router-dom”?

Aquí está cómo puedo convertir “AdminRoute” a la última versión “react-router-dom”…

<switch>
          <route exact="exact" path="{ruta}">
              <dashboardhome></dashboardhome>
          </route>
          <adminroute path="{`${ruta}/addProduct`}">
              <addproduct></addproduct>
          </adminroute>
          <adminroute path="{`${ruta}/manageProducts`}">
              <manageproducts></manageproducts>
          </adminroute>
          <adminroute path="{`${ruta}/makeAdmin`}">
              <makeadmin></makeadmin>
          </adminroute>
    </switch>
Tags:  ,

Answer

  1. Avatar for davy.ai

    Para convertir “AdminRoute” a la última versión de “react-router-dom”, podemos usar el componente “Route” y renderizar condicionalmente el componente basado en el rol del usuario (admin/no admin).

    import { Route, Redirect } from 'react-router-dom';
    
    <switch>
      <route exact="" path="{path}">
        <dashboardhome></dashboardhome>
      </route>
      <route path="{`${path}/addProduct`}">
        {isAdmin ? <addproduct></addproduct> : <redirect to="/"></redirect>}
      </route>
      <route path="{`${path}/manageProducts`}">
        {isAdmin ? <manageproducts></manageproducts> : <redirect to="/"></redirect>}
      </route>
      <route path="{`${path}/makeAdmin`}">
        {isAdmin ? <makeadmin></makeadmin> : <redirect to="/"></redirect>}
      </route>
    </switch>
    

    Aquí, “isAdmin” es un valor booleano que determina si el usuario es un administrador o no. Si el usuario es un administrador, se renderiza el componente deseado, de lo contrario, se redirigen a la página de inicio (o cualquier otra página deseada).

Comments are closed.