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

203
Vistas
El uso de path="*" para rutas no permitidas muestra brevemente una ruta válida

He ingresado una ruta para el manejo de rutas no válidas. Por ejemplo, si un usuario va a "/random-unattributed-path" que no se ha descrito en el enrutador.

Funciona muy bien, salvo un solo problema que he encontrado hasta ahora.

Este es el código que inserté:

 <Router>
 <Routes>
 <Route path="/" element={[<Navigation key={0}/>, <Home key={1} />]} />
 <Route
 path="/AboutUs"
 element={[<Navigation key={0} />, <AboutUs key={1} />]}
 key={0}
 />
 <Route
 exact
 path="/Profile/:id"
 element={[<Navigation key={0}/>, <Profile key={1} />]}
 />
 <Route
 path="/Profile"
 element={[<Navigation key={0} />, <Profile key={1} />]}
 />
 <Route path="*" element={[<NotFound />]} /> 
 {/* THIS LINE RIGHT HERE ^^^^^^^^^^^^ */}
 </Routes>
</Router>

Lo que he encontrado es que cuando se redirige de una ruta y un elemento a otro, se mostrará muy brevemente el elemento notFound.

Tengo un ejemplo para mostrar este problema aquí: https://giphy.com/gifs/9ZcdbA169kJy48QB4b/fullscreen

Este Code-sandbox demuestra el código pero no el problema, tal vez tenga algo que ver con el funcionamiento de Code-sandbox o, en mi caso, algo que ver con la implementación del alojamiento local. https:// codesandbox.io/s/frosty-tereshkova-ptb6nn?file=/src/Other.js

Esto muestra ir de /profile/:id a /profile de nuevo a /profile/:id

almost 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Veo un problema en su componente de Navigation . Está representando componentes de NavLink desde react-bootstrap que representan una etiqueta de anclaje sin formato y href .

 import { NavLink } from "react-bootstrap";

...

<NavLink className="tiny-scale" href={"/"}>
 ...
</NavLink>

Esto envía una solicitud de página al servidor y recarga la aplicación.

Querrá renderizar el componente NavLink desde react-router-dom para manejar correctamente el lado del cliente de navegación.

 import { NavLink } from "react-bootstrap";
import { NavLink as BaseNavLink } from "react-router-dom";

export default function Navigation() {
 return (
 <div className="App">
 <h1>Navigation</h1>
 <NavLink as={BaseNavLink} className="tiny-scale" to="/">
 <span className="Main-element"> home </span>
 </NavLink>
 <NavLink as={BaseNavLink} className="tiny-scale" to="/other">
 <span className="Main-element"> other </span>
 </NavLink>
 <NavLink as={BaseNavLink} className="tiny-scale" to="/deadlink">
 <span className="Main-element"> dead link </span>
 </NavLink>
 </div>
 );
}

Editar usando-ruta-para-rutas-no-permitidas-muestra-brevemente-en-ruta-válida

Mencioné también el accesorio de element "extraño" en un comentario anterior. Es más común crear lo que se denomina rutas de diseño para representar elementos comunes de la interfaz de usuario, como el componente de Navigation .

Ejemplo:

 import { Outlet } from 'react-router-dom';
import Navigation from "./Navigation";

const Layout = () => (
 <>
 <Navigation />
 <Outlet />
 </>
);

...

 import { BrowserRouter as Router, Routes, Route } from "react-router-dom";
import Home from "./Home";
import NotFound from "./NotFound";
import Other from "./Other";
import Layout from "./Layout";

export default function App() {
 return (
 <Router>
 <Routes>
 <Route element={<Layout />}>
 <Route path="/" element={<Home />} />
 <Route path="/Other" element={<Other />} />
 <Route path="*" element={<NotFound />} />
 </Route>
 </Routes>
 </Router>
 );
}
almost 4 years ago · Santiago Trujillo 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