mirror of
https://github.com/terribleplan/next.js.git
synced 2024-01-19 02:48:18 +00:00
update with-fela to Fela > 5.0 (#2253)
* update fela example * fix wrong whitespace
This commit is contained in:
parent
480f3ab124
commit
c72435fe5c
|
@ -3,14 +3,6 @@ import { createRenderer } from 'fela'
|
||||||
// add your renderer configuration here
|
// add your renderer configuration here
|
||||||
const renderer = createRenderer()
|
const renderer = createRenderer()
|
||||||
|
|
||||||
export function getRenderer () {
|
export default function getRenderer () {
|
||||||
return renderer
|
return renderer
|
||||||
}
|
}
|
||||||
|
|
||||||
export function getMountNode () {
|
|
||||||
if (typeof window !== 'undefined') {
|
|
||||||
return document.getElementById('fela-stylesheet')
|
|
||||||
}
|
|
||||||
|
|
||||||
return undefined
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,8 +1,8 @@
|
||||||
import { Provider } from 'react-fela'
|
import { Provider } from 'react-fela'
|
||||||
import { getRenderer, getMountNode } from './fela'
|
import getRenderer from './fela'
|
||||||
|
|
||||||
export default ({ children }) => (
|
export default ({ children }) => (
|
||||||
<Provider renderer={getRenderer()} mountNode={getMountNode()}>
|
<Provider renderer={getRenderer()}>
|
||||||
{children}
|
{children}
|
||||||
</Provider>
|
</Provider>
|
||||||
)
|
)
|
||||||
|
|
|
@ -7,10 +7,11 @@
|
||||||
"start": "next start"
|
"start": "next start"
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"fela": "^4.1.2",
|
"fela": "^5.0.1",
|
||||||
|
"fela-dom": "5.0.2",
|
||||||
"next": "latest",
|
"next": "latest",
|
||||||
"react": "^15.4.2",
|
"react": "^15.4.2",
|
||||||
"react-dom": "^15.4.2",
|
"react-dom": "^15.4.2",
|
||||||
"react-fela": "^4.1.2"
|
"react-fela": "^5.0.2"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,29 +1,31 @@
|
||||||
import Document, { Head, Main, NextScript } from 'next/document'
|
import Document, { Head, Main, NextScript } from 'next/document'
|
||||||
import { getRenderer } from '../fela'
|
import { renderToSheetList } from 'fela-dom'
|
||||||
|
import getRenderer from '../fela'
|
||||||
|
|
||||||
export default class MyDocument extends Document {
|
export default class MyDocument extends Document {
|
||||||
static getInitialProps ({ renderPage }) {
|
static getInitialProps ({ renderPage }) {
|
||||||
const page = renderPage()
|
const page = renderPage()
|
||||||
const renderer = getRenderer()
|
const renderer = getRenderer()
|
||||||
const css = renderer.renderToString()
|
|
||||||
|
|
||||||
|
const sheetList = renderToSheetList(renderer)
|
||||||
renderer.clear()
|
renderer.clear()
|
||||||
|
|
||||||
return {
|
return {
|
||||||
...page,
|
...page,
|
||||||
css
|
sheetList
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
render () {
|
render () {
|
||||||
|
const styleNodes = this.props.sheetList.map(({ type, media, css }) => (
|
||||||
|
<style data-fela-type={type} media={media}>{css}</style>
|
||||||
|
))
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<html>
|
<html>
|
||||||
<Head>
|
<Head>
|
||||||
<title>My page</title>
|
<title>My page</title>
|
||||||
<style
|
{styleNodes}
|
||||||
dangerouslySetInnerHTML={{ __html: this.props.css }}
|
|
||||||
id='fela-stylesheet'
|
|
||||||
/>
|
|
||||||
</Head>
|
</Head>
|
||||||
<body>
|
<body>
|
||||||
<Main />
|
<Main />
|
||||||
|
|
Loading…
Reference in a new issue