UNPKG

create-rivas-react

Version:

Boilerplate for create react with atomic design

57 lines (53 loc) 1.4 kB
import React from 'react'; import Document, { Html, Head, Main, NextScript, } from 'next/document'; import { ServerStyleSheet } from 'styled-components'; class MyDocument extends Document { static async getInitialProps(ctx) { // Step 1: Create an instance of ServerStyleSheet const sheet = new ServerStyleSheet(); const originalRenderPage = ctx.renderPage; try { // Step 2: Retrieve styles from components in the page ctx.renderPage = () => originalRenderPage({ enhanceApp: (App) => (props) => sheet.collectStyles(<App {...props} />), }); const initialProps = await Document.getInitialProps(ctx); return { ...initialProps, styles: ( <> {initialProps.styles} {sheet.getStyleElement()} </> ), }; } finally { sheet.seal(); } } render() { return ( <Html lang="es"> <Head> <meta charSet="utf-8" /> {/* Force IE 8/9/10 to use its latest rendering engine */} <meta httpEquiv="x-ua-compatible" content="ie=edge" /> {/* Dropdown rendering engine order */} <meta name="renderer" content="webkit|ie-comp|ie-stand" /> </Head> <body> <Main /> <NextScript /> </body> </Html> ); } } export default MyDocument;