Using next/router in Next.js

It’s really handy to manage routing in JSX, but sometimes you need to trigger a routing change programmatically.

In this case, you can access the Next.js Router directly, provided in the next/router package, and call its push() method.

Here’s an example of accessing the router:

Once we get the router object by invoking useRouter(), we can use its methods.

This is the client side router, so methods should only be used in frontend facing code. The easiest way to ensure this is to wrap calls in the useEffect() React hook, or inside componentDidMount() in React stateful components.

The ones you’ll likely use the most are push() and prefetch().

push() allows us to programmatically trigger a URL change, in the frontend:

Full Example

Leave a comment

Your email address will not be published. Required fields are marked *