1
0
Fork 0
mirror of https://github.com/terribleplan/next.js.git synced 2024-01-19 02:48:18 +00:00
next.js/examples/with-react-jss/pages/_document.js
Henri 02e44d13a9 [examples/react-jss] Add support for styled custom App component (#6094)
With the current example it's not possible to use any components with styles inside a custom App component.
 
Reference issue: cssinjs/jss#939
2019-01-20 14:41:49 +01:00

43 lines
942 B
JavaScript

import React from 'react'
import Document, { Head, Main, NextScript } from 'next/document'
import { SheetsRegistry, JssProvider } from 'react-jss'
export default class JssDocument extends Document {
static async getInitialProps (ctx) {
const registry = new SheetsRegistry()
const originalRenderPage = ctx.renderPage
ctx.renderPage = () =>
originalRenderPage({
enhanceApp: App => props => (
<JssProvider registry={registry}>
<App {...props} />
</JssProvider>
)
})
const initialProps = await Document.getInitialProps(ctx)
return {
...initialProps,
registry
}
}
render () {
return (
<html>
<Head>
<style id='server-side-styles'>
{this.props.registry.toString()}
</style>
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
)
}
}