forked from chantastic/sites
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path_app.js
52 lines (46 loc) · 1.37 KB
/
_app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
import React from "react";
import App, { Container } from "next/app";
import Head from "next/head";
import Router from "next/router";
import { initGA, logPageView } from "../modules/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>
<Head>
<title key="title">React Patterns</title>
<meta
name="viewport"
content="initial-scale=1.0, width=device-width"
key="viewport"
/>
<meta
key="description"
name="description"
content="React patterns from beginners to advanced developers. Simple examples, short descriptions, and quality advice."
/>
<link
href="https://fonts.googleapis.com/css?family=Merriweather:300,300i&display=swap"
rel="stylesheet"
/>
</Head>
<div style={{ maxWidth: "32em" }}>
<Component {...pageProps} />
</div>
</Container>
);
}
}