Greg Bergé 601bd3442c feat: stable version 1
- Add a new `render` method to use render props pattern
- Fix all issues with SSR

BREAKING CHANGE: loadable-components/babel is now required if you do server side rendering.
BREAKING CHANGE: ErrorComponent now receive `ownProps` instead of `props`.
2018-02-02 15:24:21 +01:00

29 lines
712 B
JavaScript

import React from 'react'
import ReactDOMServer from 'react-dom/server'
import express from 'express'
import { getLoadableState } from 'loadable-components/server'
import App from './App'
const app = express()
app.get('/', async (req, res) => {
try {
const reactApp = <App />
const loadableState = await getLoadableState(reactApp)
const html = ReactDOMServer.renderToString(reactApp)
res.send(`<!DOCTYPE html>
<html>
<body>
<div id="root">${html}</div>
${loadableState.getScriptTag()}
<script src="bundle.js"></script>
</body>
</html>`)
} catch (err) {
res.status(500)
res.send(err)
}
})
app.listen(3000, () => console.log('http://localhost:3000'))