From 34f2c6583faf926fb074a46ffc1e12d3eba6784f Mon Sep 17 00:00:00 2001 From: Dan Abramov Date: Sat, 10 Sep 2022 16:58:36 +0100 Subject: [PATCH] [Beta] Hydrate with startTransition --- beta/patches/next+12.1.7-canary.11.patch | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 beta/patches/next+12.1.7-canary.11.patch diff --git a/beta/patches/next+12.1.7-canary.11.patch b/beta/patches/next+12.1.7-canary.11.patch new file mode 100644 index 00000000000..ffa77f5e96d --- /dev/null +++ b/beta/patches/next+12.1.7-canary.11.patch @@ -0,0 +1,16 @@ +diff --git a/node_modules/next/dist/client/index.js b/node_modules/next/dist/client/index.js +index 8541301..f4c8dd7 100644 +--- a/node_modules/next/dist/client/index.js ++++ b/node_modules/next/dist/client/index.js +@@ -480,7 +480,10 @@ function renderReactElement(domEl, fn) { + if (process.env.__NEXT_REACT_ROOT) { + if (!reactRoot) { + // Unlike with createRoot, you don't need a separate root.render() call here +- reactRoot = ReactDOM.hydrateRoot(domEl, reactEl); ++ const startTransition = _react.default.startTransition; ++ startTransition(()=>{ ++ reactRoot = ReactDOM.hydrateRoot(domEl, reactEl); ++ }); + // TODO: Remove shouldHydrate variable when React 18 is stable as it can depend on `reactRoot` existing + shouldHydrate = false; + } else {