rsnext/examples/with-react-native-web/pages/_document.js
Peng Jie 3c99206313
chore(examples): fix missing document components error messages (#16802)
Thanks vercel team create multiple examples for much use cases, I found some error messages and fixed it.
2020-09-03 21:13:12 +00:00

37 lines
1 KiB
JavaScript

import { Children } from 'react'
import Document, { Html, Head, Main, NextScript } from 'next/document'
import { AppRegistry } from 'react-native'
import config from '../app.json'
// Force Next-generated DOM elements to fill their parent's height
const normalizeNextElements = `
#__next {
display: flex;
flex-direction: column;
height: 100%;
}
`
export default class MyDocument extends Document {
static async getInitialProps({ renderPage }) {
AppRegistry.registerComponent(config.name, () => Main)
const { getStyleElement } = AppRegistry.getApplication(config.name)
const page = await renderPage()
const styles = [
<style dangerouslySetInnerHTML={{ __html: normalizeNextElements }} />,
getStyleElement(),
]
return { ...page, styles: Children.toArray(styles) }
}
render() {
return (
<Html style={{ height: '100%' }}>
<Head />
<body style={{ height: '100%', overflow: 'hidden' }}>
<Main />
<NextScript />
</body>
</Html>
)
}
}