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-styled-components/pages/_document.js
2016-12-22 17:16:33 +09:00

27 lines
674 B
JavaScript

import Document, { Head, Main, NextScript } from 'next/document'
import styleSheet from 'styled-components/lib/models/StyleSheet'
export default class MyDocument extends Document {
static async getInitialProps ({ renderPage }) {
styleSheet.flush()
const page = renderPage()
const style = styleSheet.rules().map(rule => rule.cssText).join('\n')
return { ...page, style }
}
render () {
return (
<html>
<Head>
<title>My page</title>
<style dangerouslySetInnerHTML={{ __html: this.props.style }} />
</Head>
<body>
<Main />
<NextScript />
</body>
</html>
)
}
}