You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

useGtag.ts 468B

12345678910111213141516171819
  1. import router from 'next/router'
  2. import { useEffect } from 'react'
  3. import * as gtag from 'utils/gtag'
  4. export default function useGtag() {
  5. useEffect(() => {
  6. if (process.env.NODE_ENV !== 'production') return
  7. function handleRouteChange(url: URL) {
  8. gtag.pageview(url)
  9. }
  10. router.events.on('routeChangeComplete', handleRouteChange)
  11. return () => {
  12. router.events.off('routeChangeComplete', handleRouteChange)
  13. }
  14. }, [router.events])
  15. }