3c99206313
Thanks vercel team create multiple examples for much use cases, I found some error messages and fixed it.
37 lines
1 KiB
JavaScript
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>
|
|
)
|
|
}
|
|
}
|