Debugging Next.js: Next.js, what to do when the state of a component is not refreshed when navigating

Join the AI Workshop to learn more about AI and how it can be applied to web development. Next cohort February 1st, 2026

The AI-first Web Development BOOTCAMP cohort starts February 24th, 2026. 10 weeks of intensive training and hands-on projects.


I ran in this issue, basically my component has an useState() hook to set some variables and the state was not updated when navigating with the router.

Turns out my custom _app.js, which I copied from the tutorial and was just used to add global styling to the app, had this code:

export default function App({ Component, pageProps }) {
  return <Component {...pageProps} />
}

I changed it to:

import { useRouter } from 'next/router'

export default function App({ Component, pageProps }) {
  const router = useRouter()

  return <Component {...pageProps} key={router.asPath} />
}

and it worked again as expected.

I just had to add the path as key.

Lessons in this unit:

0: Introduction
1: Blank page after router.push() in Next.js?
2: How to fix the error `PrismaClient is unable to be run in the browser` in Next.js
3: Next.js, blank page after calling `res.redirect()`
4: Next.js, how to fix the error `Constructor requires 'new' operator`
5: Next.js, fix the `module not found` error
6: How to fix the `can't resolve module` error in Next.js
7: How to fix error serializing Date object JSON in Next.js
8: How to fix the `unable to resolve dependency tree` PostCSS and Tailwind issue in Next.js
9: Fix “Module not found: Can't resolve encoding” in Next.js
10: How to fix Your custom PostCSS configuration must export a `plugins` key.
11: ▶︎ Next.js, what to do when the state of a component is not refreshed when navigating
12: Revalidation and ISR gotcha on Vercel
13: How to fix the `Already 10 Prisma Clients are actively running` error