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

252
Visualizações
¿Cómo administrar correctamente las rutas con react-router-dom?

Tuve un problema con la redirección a la página a través del enrutamiento de reacción. Quiero que todas mis rutas privadas comiencen con /client/:id y luego agreguen otra parte a esta ruta cuando haga clic en el menú del panel. La ruta final debería ser algo como esto: /client/:id/home .

Entonces, empiezo a codificar y cambio mi objeto manejando todas las rutas como esta:

 export const routes = { home: "/client/:id/home" }

y el manejo de objetos de componentes como este:

 export const routing = [ { path: routes.home, component: Home } ]

todo esto lo uso en mi App.tsx como a continuación:

 {routing.map(({ path, component }, i) => ( <Route key={i} path={path} component={component} /> ))}

Y ahora mismo tengo un problema. Después de redirigir a home usando el historial react-router-dom como se muestra a continuación:

 const history = useHistory(); history.push(`/client/${id}/home`)

el enrutador me redirige a la página 404 :(

¿Alguien puede decirme qué estoy haciendo mal?

¡Gracias por cualquier ayuda!

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

0

Gracias por la pregunta. Para el enrutamiento, el principio básico es el mismo en el caso de React, Angular, Vue. Usando mecanografiado o JavaScript. Al navegar, no necesitamos usarHistorial y empujar el historial en él. Puede usar el enrutamiento anidado aquí y lograr lo mismo. export const route = { home: "/client/:id/home" } Encuentre el ejemplo adjunto.

 [https://codepen.io/shwetas7/pen/rNGRNdW][1]
about 4 years ago · Juan Pablo Isaza Relatório

0

Este es un ejemplo con la funcionalidad que necesita. Tienes que usar history.go(); después de history.push para recargar la página.

 /* Question: How to properly manage routes with react-router-dom? Url: https://stackoverflow.com/questions/70730898/how-to-properly-manage-routes-with-react-router-dom/70731195#70731195 */ import { Redirect, Route, Router, Switch, useParams } from 'react-router-dom'; import { createBrowserHistory } from 'history'; const history = createBrowserHistory(); function Route2({ history, match }) { // id = 1 // const { id } = match.params; const { id } = useParams(); return ( <> <div>Route 2</div> <button onClick={() => { history.push("/"); history.go(); }}> navigate to Route 1</button> </> ); } function Question4() { return ( <> <Router history={history}> <Switch> <Route path="/client/:id/home" exact render={(props) => <Route2 {...props} />} /> <Route path="/" render={({ history }) => { return ( <> <div>Route 1</div> <button onClick={() => { // history.push("/client/1/home"); // history.go(); window.location.href = '/client/1/home' }}> navigate to Home</button> </> ) }} /> <Redirect path="/" /> </Switch> </Router> </> ); } export default Question4;

espero haberte ayudado

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