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

330
Vistas
¿Cómo usar un elemento con propiedad href en combinación con react-router?

Quiero usar la funcionalidad de navigation.push(url) al hacer clic en un elemento de etiqueta de anclaje para que la aplicación no se actualice al navegar a otra página, y puedo mantener el estado de la aplicación.

La razón por la que quiero usar esto en un elemento de etiqueta de ancla en lugar de un botón es:

  • para mantener la funcionalidad nativa para hacer clic con el botón derecho en el elemento y copiar la URL
  • para mantener la URL visible al pasar el cursor sobre el elemento

Al intentar usar la combinación como se ve en el código a continuación, aún navega hacia una nueva página que hace que la aplicación web se actualice:

 import React from 'react'; import { useHistory } from 'react-router-dom'; const TestComp = () => { const navigation = useHistory(); return ( <a onClick={() => { navigation.push(`/test`); }} href={`/test`}> this is a link </a> ); }; export default TestComp;
about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Use el componente Link de react-router-dom . Representa una etiqueta de anclaje en el DOM y hace todos los enlaces/navegación por usted que está tratando de hacer manualmente, y no vuelve a cargar la página.

 import React from 'react'; import { Link } from 'react-router-dom'; const TestComp = () => { return ( <Link to="/test"> this is a link </Link> ); }; export default TestComp;
about 4 years ago · Juan Pablo Isaza Denunciar

0

Al usar event.preventDefault() evita que el navegador ejecute la función normal de un evento (clic)... En la etiqueta de anclaje, evita que el navegador navegue a otra página, para que pueda hacerlo manualmente

 <a onClick={(e) => { e.preventDefault() navigation.push(`/test`); }} href={`/test`}> this is a link </a>
about 4 years ago · Juan Pablo Isaza 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