Provides NextJS 13 router events compatible with the App Router
https://www.npmjs.com/package/nextjs13-router-events?activeTab=readme
npm install nextjs13-router-events
Replace regular NextJS Link
components with this one:
import { Link } from 'nextjs13-router-events';
That Link component should be compatible with your setup.
Your layout.tsx:
import { RouteChangeProvider } from 'nextjs13-router-events';
...
return (
<RouteChangeProvider>
{children}
</RouteChangeProvider>
)
Your component, where you want to monitor the onRouteChangeStart and onRouteChangeComplete events:
import { useRouteChange } from 'nextjs13-router-events';
...
export default function Component(props: any) {
...
useRouteChange({
onRouteChangeStart: () => {
console.log('onStart 3');
},
onRouteChangeComplete: () => {
console.log('onComplete 3');
}
});
...
}
Inspired by https://github.com/joulev/nextjs13-appdir-router-events