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
Leon c2a208d141 Update styletron example (#5879)
Missed a fix for the styletron api. Previous config won't work for server rendering.
2018-12-13 17:23:06 +01:00

33 lines
828 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 }}
media={sheet.attrs ? sheet.attrs.media : null}
key={i}
/>
))}
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
)
}
}