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')
→ Get my Next.js (pages router) Handbook
→ I wrote 17 books to help you become a better developer:
- C Handbook
- Command Line Handbook
- CSS Handbook
- Express Handbook
- Git Cheat Sheet
- Go Handbook
- HTML Handbook
- JS Handbook
- Laravel Handbook
- Next.js Handbook
- Node.js Handbook
- PHP Handbook
- Python Handbook
- React Handbook
- SQL Handbook
- Svelte Handbook
- Swift Handbook
Also, 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