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

272
Visualizações
¿Redirigir a la página 404 no encontrada mientras alguna de las rutas no coincide?
 <Routes> {!userlog ? ( <Route path="/" element={<AuthLayout />}> <Route index element={<Login />} /> <Route path="/login" element={<Login />} /> <Route path="/signin" element={<Login />} /> <Route path="/forgotpassword" element={<ForgotPassword />} /> <Route path="/changepassword" element={<ChangePassword />} /> </Route> ) : userlog?.user_type===1?( <Route path="/" element={<HomeLayout />}> <Route index element={<HomePage />} /> <Route path="viewproduct/:id" element={<ViewPage />} /> <Route path="cartlist" element={<CartList />} /> </Route> ): <Route path="/" element={<AdminLayout />}> <Route index element={<Dashboard />} /> <Route path="listproducts" element={<ProductsList />} /> </Route> } <Route path="*" element={<Navigate to={"/"} />} /> </Routes>

Lo que quiero,
Escenario 1 (usuario sin iniciar sesión): si el usuario intenta navegar por "/cartlist", se le redirigirá a la página de inicio de sesión. Si el usuario intenta navegar por algo que no forma parte de la ruta de la ruta, desea navegar por la página 404 no encontrada.

Escenario 2 (usuario conectado): si el usuario intenta navegar "/iniciar sesión", se le redirigirá a la página del panel. Si el usuario intenta navegar por algo que no forma parte de la ruta de la ruta, desea navegar por la página 404 no encontrada.

Ahora lo que obtengo es,
El usuario intenta navegar por cualquier otra ruta, navega a la página "/".

NOTA: No quiero poner una ruta privada para cada ruta y también quiero una ruta de enrutamiento como esta solamente.

Gracias por adelantado....

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

0

Por supuesto, debido a esta línea, irá a "/":

 <Route path="*" element={<Navigate to={"/"} />} />

Con el nuevo react-router v6 puede usar esto cambiando:

 // 404 route <Route path="*" element={<NotFoundPage />} />

NotFoundPage será su componente para decirles a los usuarios que no se encuentra la página.

Además, para estos, creo que debe colocar una barra inclinada / antes del nombre de la ruta

 <Route path="/viewproduct/:id" element={<ViewPage />} /> <Route path="/cartlist" element={<CartList />} /> <Route path="/listproducts" element={<ProductsList />} />
about 4 years ago · Juan Pablo Isaza Relatório

0

La razón por la que siempre se resuelve en "/" es porque elegirá la primera ruta que coincida con el patrón dado, incluso si es una coincidencia parcial. Dado que todas sus rutas comienzan con "/", por ejemplo. "/iniciar sesión", etc., siempre coincide con "/".

Puede evitar esto con el parámetro "exacto":

 <Route exact path="/" element={<AuthLayout />}>
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