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-styletron/pages/_document.js

33 lines
811 B
JavaScript

import Document, { Head, Main, NextScript } from 'next/document'
import { flush } from '../styletron'
export default class MyDocument extends Document {
static getInitialProps ({ renderPage }) {
const page = renderPage()
const styletron = flush()
const stylesheets = styletron ? styletron.getStylesheets() : []
return { ...page, stylesheets }
}
render () {
return (
<html>
<Head>
{this.props.stylesheets.map((sheet, i) => (
<style
className='_styletron_hydrate_'
dangerouslySetInnerHTML={{ __html: sheet.css }}
media={sheet.media || ''}
key={i}
/>
))}
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
)
}
}