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

349
Vistas
Next.js — router.push desplaza la página hacia arriba a pesar de que la opción de desplazamiento está configurada como falsa

Estoy usando las funciones de internacionalización integradas de Next.js para cambiar el idioma de mi aplicación y todo funciona perfectamente excepto por un comportamiento no deseado:

Llamar a la función changeLanguage hace que la página se desplace hacia la parte superior a pesar de configurar la opción de desplazamiento del enrutador en false .

Tenga en cuenta que Next.js - router.push sin desplazarse hacia la parte superior y Next.js mantienen la posición de desplazamiento cuando el enrutamiento de la página no resolvió mi problema.

 import { useRouter } from "next/router"; import Select, { components } from "react-select"; const LanguageToggler = () => { const router = useRouter(); const { locale, pathname, locales, asPath } = router; const changeLanguage = (e) => { const locale = e.value; // is equal to one of these values: ['en', 'sv', 'ru', 'fr'] router.push(pathname, asPath, { locale }, { scroll: false }); }; return ( <Select ...irrelevant onChange={changeLanguage} components={{ Option: CustomSelectOption, }} /> ) }; export default LanguageToggler;

PD: la biblioteca de reacción-selección se usa para mostrar una lista desplegable de banderas, al hacer clic en cada bandera se invoca el cambio de changeLanguage para actualizar la configuración regional en consecuencia.

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

0

El siguiente router.push acepta tres parámetros.

 router.push(pathname, asPath, { locale }, { scroll: false });

debiera ser

 router.push(pathname, asPath, { locale, scroll: false });
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