From 78270acb814faa923f964c947599e882c904ddd2 Mon Sep 17 00:00:00 2001 From: Tim Neutkens Date: Wed, 26 Oct 2022 12:53:32 -0700 Subject: [PATCH] Allow disabling Strict mode in app --- packages/next/client/app-index.tsx | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/packages/next/client/app-index.tsx b/packages/next/client/app-index.tsx index fe45a3eacb35..23784496e80d 100644 --- a/packages/next/client/app-index.tsx +++ b/packages/next/client/app-index.tsx @@ -2,7 +2,7 @@ import '../build/polyfills/polyfill-module' // @ts-ignore react-dom/client exists when using React 18 import ReactDOMClient from 'react-dom/client' -import React, { use } from 'react' +import React, { ReactNode, use } from 'react' import { createFromReadableStream } from 'next/dist/compiled/react-server-dom-webpack/client' import measureWebVitals from './performance-relayer' @@ -149,6 +149,14 @@ function ServerRoot({ cacheKey }: { cacheKey: string }): JSX.Element { return root } +function StrictModeIfEnabled({ children }: { children: React.ReactNode }) { + return process.env.__NEXT_STRICT_MODE ? ( + {children} + ) : ( + <>{children} + ) +} + function Root({ children }: React.PropsWithChildren<{}>): React.ReactElement { React.useEffect(() => { measureWebVitals() @@ -213,7 +221,7 @@ export function hydrate() { } const reactEl = ( - + - + ) const isError = document.documentElement.id === '__next_error__'