1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-react-ga/pages/_app.js
Tomek 0d93d42640 update with-react-ga example (#4816)
Changes:
* updated `react-ga` package
* updated README.md
* Removed `Layout` component and used custom App component
* used `routeChangeComplete` to log route changes.
2018-07-21 19:27:48 +02:00

32 lines
701 B
JavaScript

import React from 'react'
import App, { Container } from 'next/app'
import Router from 'next/router'
import { initGA, logPageView } from '../utils/analytics'
export default class MyApp extends App {
static async getInitialProps ({ Component, router, ctx }) {
let pageProps = {}
if (Component.getInitialProps) {
pageProps = await Component.getInitialProps(ctx)
}
return { pageProps }
}
componentDidMount () {
initGA()
logPageView()
Router.router.events.on('routeChangeComplete', logPageView)
}
render () {
const { Component, pageProps } = this.props
return (
<Container>
<Component {...pageProps} />
</Container>
)
}
}