diff --git a/pages/_document.jsx b/pages/_document.jsx index 6cf7055..0b61d2f 100644 --- a/pages/_document.jsx +++ b/pages/_document.jsx @@ -1,6 +1,31 @@ import Document, { Head, Html, Main, NextScript } from 'next/document'; +import { ServerStyleSheet } from 'styled-components'; export default class MyDocument extends Document { + static async getInitialProps(ctx) { + const sheet = new ServerStyleSheet(); + const originalRenderPage = ctx.renderPage; + + try { + ctx.renderPage = () => + originalRenderPage({ + enhanceApp: App => props => sheet.collectStyles(), + }); + + const initialProps = await Document.getInitialProps(ctx); + return { + ...initialProps, + styles: ( + <> + {initialProps.styles} + {sheet.getStyleElement()} + + ), + }; + } finally { + sheet.seal(); + } + } render() { return (