How to programmatically change a route in Next.js
In a component, you can use the useRouter
hook:
import { useRouter } from 'next/router'
//...
const router = useRouter()
router.push('/test')
Sometimes you can’t, for example when you’re not in a React component, maybe in a utility function.
In that case, you can do this:
import Router from 'next/router'
Router.push('/test')
→ Here's my latest YouTube video
→ Get my Next.js (pages router) Handbook
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025