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 b79bbecb13 Add react-jss example (#5140)
Added a clear example on how to use react-jss with injecting the styles on the server.

cssinjs/jss#457
2018-09-12 15:49:54 +02:00

40 lines
758 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 getInitialProps (ctx) {
const registry = new SheetsRegistry()
const page = ctx.renderPage(App => props => (
<JssProvider registry={registry}>
<App {...props} />
</JssProvider>
))
return {
...page,
registry
}
}
render () {
return (
<html>
<Head>
<style id='server-side-styles'>
{this.props.registry.toString()}
</style>
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
)
}
}