diff --git a/pages/_document.tsx b/pages/_document.tsx new file mode 100644 index 0000000..2559f34 --- /dev/null +++ b/pages/_document.tsx @@ -0,0 +1,43 @@ +import Document, { DocumentContext, Html, Head, Main, NextScript } from "next/document"; +import React from "react"; +import { ServerStyleSheet } from "styled-components"; + + +export default class MyDocument extends Document { + static async getInitialProps(ctx: DocumentContext) { + 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 ( + + + +
+ + + + ); + } +}