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

213
Vistas
Siguiente/Reaccionar en caliente para usar la cascada router.back() e ignorar los enlaces de anclaje

Estoy desarrollando mi propio sitio web de blog con Next.js y transcripciones de MD. Tengo un problema con los enlaces ancla. Todos mis títulos <h1> se convierten en enlaces de anclaje usando el siguiente componente de enlace:

 <Link passHref href={"#" + anchor.href}>{anchor.name}</Link>

De esta manera, los enlaces de anclaje funcionan bien. Pero cuando entro en un enlace de anclaje y luego presiono el botón Atrás (desde el navegador o el enrutador. Atrás ()) en lugar de regresar a la página de la que vine, simplemente regresa al enlace sin el enlace de anclaje # o a el último enlace ancla en el que hice clic.

¿Hay alguna manera de que pueda retroceder en cascada sin necesidad de pasar a la última página? Si vine de una publicación de blog X a una publicación de blog Y, ¿cómo podría retroceder hasta llegar a esta publicación X? Pensé en usar el enrutador de reacción para hacer este tipo de cascada, pero no sé si funcionaría.

Aquí está el sitio web , intentaré poner la última versión en línea hasta que publique esto.

La forma en que hago router.back es esta:

 // The router import { useRouter } from 'next/router'; const router = useRouter(); // the JSX <div variants={slideButtonDown} style={{margin: ".5rem 0"}}> <CustomButton description='Return to Blog page' text='' icon{ButtonIcon.arrowBack} onClick={() => {router.back()}}/> </div>

Si alguien tiene alguna idea de cómo podría mejorarlo, sería de gran ayuda

OBS: uso un sitio web generado estáticamente con accesorios y rutas estáticas.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

El comportamiento predeterminado del componente Enlace es push una nueva URL en la pila de historial. Puede usar el apoyo de replace para evitar agregar una nueva entrada, como en el siguiente ejemplo:

 <Link passHref href={"#" + anchor.href} replace>{anchor.name}</Link>

ref: https://nextjs.org/docs/api-reference/next/link#replace-the-url-instead-of-push

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