Sé que es posible cambiar dinámicamente la URL sin actualizar la página usando <Link>
; sin embargo, ¿es posible hacerlo sin <Link>
? Por contexto, estoy tratando de cambiar la URL dinámicamente en una página a otra si una variable cambia su valor de false
a true
. El valor de la variable no depende de que se haga clic en un botón, por eso no quiero usar <Link>
. En este momento, estoy usando window.top.location.href
dentro de useEffect()
, que hace el trabajo, pero es muy torpe ya que la página completa se vuelve a cargar. ¿Alguien sabe cómo lograr lo que estoy tratando de hacer?
Lo siguiente es lo que estoy haciendo actualmente:
useEffect(() => { if (status === true) { window.top.location.href='https://www.website.com' }; }, [status];
Encontré una solución. Todo lo que tenía que hacer era cambiar la línea con window.top.location.href
a router.push()
. El siguiente es el código actualizado que funciona según lo previsto:
useEffect(() => { if (status === true) { router.push('https://www.website.com') }; }, [status];