SupremeTechnopriest/react-idle-timer

View on GitHub
docs/src/hooks/useRouteChanged.ts

Summary

Maintainability
A
0 mins
Test Coverage
import { useEffect } from 'react'
import { useRouter } from 'next/router'

export const useRouteChanged = (fn: (url: string) => void) => {
  const router = useRouter()
  useEffect(() => {
    const handleRouteChange = (url: string) => {
      fn(url)
    }

    router.events.on('routeChangeComplete', handleRouteChange)

    return () => {
      router.events.off('routeChangeComplete', handleRouteChange)
    }
  }, [router.events, fn])
}