rsnext/examples/with-strict-csp/pages/_document.js
Joe Haddad 18a9c7e371
Improve linting rules to catch more errors (#9374)
* Update `packages/`

* Update examples

* Update tests

* Update bench

* Update top level files

* Fix build

* trigger
2019-11-10 19:24:53 -08:00

32 lines
753 B
JavaScript

import Document, { Head, Main, NextScript } from 'next/document'
const inlineScript = (body, nonce) => (
<script
type="text/javascript"
dangerouslySetInnerHTML={{ __html: body }}
nonce={nonce}
/>
)
export default class MyDocument extends Document {
static async getInitialProps(ctx) {
const initialProps = await Document.getInitialProps(ctx)
const { nonce } = ctx.res.locals
return { ...initialProps, nonce }
}
render() {
const { nonce } = this.props
return (
<html>
<Head nonce={nonce}>
{inlineScript(`console.log('Inline script with nonce')`, nonce)}
</Head>
<body>
<Main />
<NextScript nonce={nonce} />
</body>
</html>
)
}
}