I know it's possible to dynamically change the URL without refreshing the page by using <Link>; however, is it possible to do so without <Link>? For context, I'm trying to change the URL dynamically on a page to another one if a variable changes its value from false to true. The variable's value isn't dependent on a button being clicked on, so that's why I don't want to use <Link>. At the moment, I'm using window.top.location.href inside of a useEffect(), which gets the job done — but it's very clunky since the entire page reloads. Does anyone know how to achieve what I'm trying to do?
The following is what I'm currently doing:
useEffect(() => {
if (status === true) {
window.top.location.href='https://www.website.com'
};
}, [status];
CodePudding user response:
I figured out a solution. All I needed to do was swap out the line with window.top.location.href to router.push(). The following is the updated code that works as intended:
useEffect(() => {
if (status === true) {
router.push('https://www.website.com')
};
}, [status];
CodePudding user response:
What is the reason for wanting to change the URl without refreshing?
