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

396
Visualizações
Cómo configurar DefaultRoute a otra ruta en React Router

tengo lo siguiente:

 <Route name="app" path="/" handler={App}> <Route name="dashboards" path="dashboards" handler={Dashboard}> <Route name="exploreDashboard" path="exploreDashboard" handler={ExploreDashboard} /> <Route name="searchDashboard" path="searchDashboard" handler={SearchDashboard} /> <DefaultRoute handler={DashboardExplain} /> </Route> <DefaultRoute handler={SearchDashboard} /> </Route>

Cuando se usa DefaultRoute, SearchDashboard se representa incorrectamente ya que cualquier *Dashboard debe representarse dentro de Dashboard.

Me gustaría que mi DefaultRoute dentro de la ruta de la "aplicación" apunte a la ruta "searchDashboard". ¿Es esto algo que puedo hacer con React Router, o debería usar Javascript normal (para una redirección de página) para esto?

Básicamente, si el usuario va a la página de inicio, quiero enviarlo al panel de búsqueda. Así que supongo que estoy buscando una función de React Router equivalente a window.location.replace("mygreathostname.com/#/dashboards/searchDashboard");

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede usar Redirect en lugar de DefaultRoute

 <Redirect from="/" to="searchDashboard" />

Actualice 2019-08-09 para evitar problemas con la actualización, use esto en su lugar, gracias a Ogglas

 <Redirect exact from="/" to="searchDashboard" />

Fuente:

https://stackoverflow.com/a/43958016/3850405

over 4 years ago · Santiago Trujillo Relatório

0

Actualizar:

Para v6 puedes hacerlo así con Navigate . Puede utilizar una ruta de "no coincidencia" para gestionar los casos de "no coincidencia".

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

https://reactrouter.com/docs/en/v6/getting-started/tutorial#adding-a-no-match-route

https://stackoverflow.com/a/69872699/3850405

Original:

El problema con el uso de <Redirect from="/" to="searchDashboard" /> es que si tiene una URL diferente, digamos /indexDashboard y el usuario pulsa actualizar o recibe una URL enviada, el usuario será redirigido a /searchDashboard de todas formas.

Si no desea que los usuarios puedan actualizar el sitio o enviar URL, use esto:

 <Route exact path="/" render={() => ( <Redirect to="/searchDashboard"/> )}/>

Use esto si searchDashboard está detrás del inicio de sesión:

 <Route exact path="/" render={() => ( loggedIn ? ( <Redirect to="/searchDashboard"/> ) : ( <Redirect to="/login"/> ) )}/>
over 4 years ago · Santiago Trujillo Relatório

0

Estaba tratando incorrectamente de crear una ruta predeterminada con:

 <IndexRoute component={DefaultComponent} /> <Route path="/default-path" component={DefaultComponent} />

Pero esto crea dos rutas diferentes que representan el mismo componente. Esto no solo no tiene sentido, sino que puede causar fallas en su interfaz de usuario, es decir, cuando está diseñando elementos <Link/> basados en this.history.isActive() .

La forma correcta de crear una ruta predeterminada (que no sea la ruta de índice) es usar <IndexRedirect/> :

 <IndexRedirect to="/default-path" /> <Route path="/default-path" component={DefaultComponent} />

Esto se basa en el enrutador de reacción 1.0.0. Consulte https://github.com/rackt/react-router/blob/master/modules/IndexRedirect.js .

over 4 years ago · Santiago Trujillo 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