import App, {Container} from 'next/app' import React from 'react' import {setState} from '../shared-module' setState(typeof window === 'undefined' ? 'UPDATED' : 'UPDATED CLIENT') class Layout extends React.Component { state = { random: false } componentDidMount () { this.setState({random: Math.random()}) } render () { const {children} = this.props const {random} = this.state return

Hello App

Hello HMR

{random}

{children}
} } export default class MyApp extends App { static async getInitialProps ({ Component, router, ctx }) { let pageProps = {} if (Component.getInitialProps) { pageProps = await Component.getInitialProps(ctx) } return {pageProps} } render () { const {Component, pageProps} = this.props return } }