import React from 'react' import { render } from 'react-dom' import { renderToString } from 'react-dom/server' import { NextPage } from 'next' const Page: NextPage<{ html: string }> = ({ html }) => html ? ( <>

saved:

) : (

Hello world

) Page.getInitialProps = async ({ AppTree }) => { let html: string const toRender = if (typeof window !== 'undefined') { const el = document.createElement('div') document.querySelector('body').appendChild(el) render(toRender, el) html = el.innerHTML el.remove() } else { html = renderToString(toRender) } return { html } } export default Page