diff --git a/packages/next/server/app-render.tsx b/packages/next/server/app-render.tsx index 993495b9e6e6..31ca747f3b75 100644 --- a/packages/next/server/app-render.tsx +++ b/packages/next/server/app-render.tsx @@ -385,6 +385,13 @@ export async function renderToHTML( renderOpts: RenderOpts, isPagesDir: boolean ): Promise { + // @ts-expect-error createServerContext exists in react@experimental + react-dom@experimental + if (typeof React.createServerContext === 'undefined') { + throw new Error( + '"app" directory requires React.createServerContext which is not available in the version of React you are using. Please update to react@experimental and react-dom@experimental.' + ) + } + // don't modify original query object query = Object.assign({}, query)