diff --git a/packages/next/src/server/base-server.ts b/packages/next/src/server/base-server.ts index 8d52a346e619e..5e24b14655de9 100644 --- a/packages/next/src/server/base-server.ts +++ b/packages/next/src/server/base-server.ts @@ -2399,6 +2399,7 @@ export default abstract class Server< locale, locales, defaultLocale, + multiZoneDraftMode: this.nextConfig.experimental.multiZoneDraftMode, // For getServerSideProps and getInitialProps we need to ensure we use the original URL // and not the resolved URL to prevent a hydration mismatch on // asPath diff --git a/packages/next/src/server/load-components.ts b/packages/next/src/server/load-components.ts index 5e9fc519c2fc6..06829ef0eeaa2 100644 --- a/packages/next/src/server/load-components.ts +++ b/packages/next/src/server/load-components.ts @@ -67,6 +67,7 @@ export type LoadComponentsReturnType = { routeModule: RouteModule isAppPath?: boolean page: string + multiZoneDraftMode?: boolean } /** diff --git a/packages/next/src/server/render.tsx b/packages/next/src/server/render.tsx index 810998ca61fb4..139b51b4f4ad9 100644 --- a/packages/next/src/server/render.tsx +++ b/packages/next/src/server/render.tsx @@ -640,7 +640,12 @@ export async function renderToHTMLImpl( // Reads of this are cached on the `req` object, so this should resolve // instantly. There's no need to pass this data down from a previous // invoke. - previewData = tryGetPreviewData(req, res, previewProps) + previewData = tryGetPreviewData( + req, + res, + previewProps, + !!renderOpts.multiZoneDraftMode + ) isPreview = previewData !== false }