In Next.js, there may be situations where you need to manually force a page refresh. Whether you are working within a component using the useRouter
hook or in a utility function, this guide will show you how to achieve a page refresh in both scenarios.
Using the useRouter
Hook
To force a page refresh within a component using the useRouter
hook, follow these steps:
import { useRouter } from 'next/router'
// ...
const router = useRouter()
router.reload(window.location.pathname)
By accessing the useRouter
hook, you can obtain the router
object which provides various methods and properties to control navigation and page status. In this example, router.reload()
is used to refresh the page by providing the current path obtained from window.location.pathname
.
Without Using the useRouter
Hook
If you are not in a React component, such as in a utility function, you can still achieve a page refresh by utilizing the Router
object from Next.js:
import Router from 'next/router'
Router.reload(window.location.pathname)
By directly importing the Router
object and invoking the reload()
method with the current path, you can successfully force a page refresh without needing the useRouter
hook.
Incorporating these approaches into your Next.js project will allow you to easily trigger a page refresh whenever necessary.