diff --git a/fixtures/blocks/src/index.js b/fixtures/blocks/src/index.js index be279937f4d3f..5a833ff3f1128 100644 --- a/fixtures/blocks/src/index.js +++ b/fixtures/blocks/src/index.js @@ -6,7 +6,7 @@ */ import React from 'react'; -import {createRoot} from 'react-dom'; +import {createRoot} from 'react-dom/client'; import './index.css'; import Router from './Router'; diff --git a/fixtures/concurrent/time-slicing/src/index.js b/fixtures/concurrent/time-slicing/src/index.js index c871ec6c11227..2b99f803f55c5 100644 --- a/fixtures/concurrent/time-slicing/src/index.js +++ b/fixtures/concurrent/time-slicing/src/index.js @@ -1,5 +1,5 @@ import React, {PureComponent, unstable_startTransition} from 'react'; -import {createRoot} from 'react-dom'; +import {createRoot} from 'react-dom/client'; import _ from 'lodash'; import Charts from './Charts'; import Clock from './Clock'; diff --git a/fixtures/ssr/src/index.js b/fixtures/ssr/src/index.js index 8bef3639ae754..37cc25cb71671 100644 --- a/fixtures/ssr/src/index.js +++ b/fixtures/ssr/src/index.js @@ -1,5 +1,5 @@ import React from 'react'; -import {hydrateRoot} from 'react-dom'; +import {hydrateRoot} from 'react-dom/client'; import App from './components/App'; diff --git a/fixtures/ssr/yarn.lock b/fixtures/ssr/yarn.lock index d3a688915784d..3609381253bce 100644 --- a/fixtures/ssr/yarn.lock +++ b/fixtures/ssr/yarn.lock @@ -4265,7 +4265,7 @@ longest@^1.0.1: resolved "https://registry.yarnpkg.com/longest/-/longest-1.0.1.tgz#30a0b2da38f73770e8294a0d22e6625ed77d0097" integrity sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc= -loose-envify@^1.0.0: +loose-envify@^1.0.0, loose-envify@^1.1.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -5945,6 +5945,14 @@ sax@^1.2.1, sax@~1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== +scheduler@^0.20.1: + version "0.20.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.20.2.tgz#4baee39436e34aa93b4874bddcbf0fe8b8b50e91" + integrity sha512-2eWfGgAqqWFGqtdMmcL5zCMK1U8KlXv8SQFGglL3CEtd0aDVDWgeF/YoCmvln55m5zSk3J/20hTaSBeSObsQDQ== + dependencies: + loose-envify "^1.1.0" + object-assign "^4.1.1" + "semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" diff --git a/fixtures/ssr2/src/index.js b/fixtures/ssr2/src/index.js index adf035ad1a881..10c2898e328b7 100644 --- a/fixtures/ssr2/src/index.js +++ b/fixtures/ssr2/src/index.js @@ -6,7 +6,7 @@ * */ -import {hydrateRoot} from 'react-dom'; +import {hydrateRoot} from 'react-dom/client'; import App from './App'; hydrateRoot(document, ); diff --git a/packages/react-devtools-core/src/standalone.js b/packages/react-devtools-core/src/standalone.js index ab3250d7cff7a..c04cad1ddea08 100644 --- a/packages/react-devtools-core/src/standalone.js +++ b/packages/react-devtools-core/src/standalone.js @@ -11,9 +11,8 @@ import {createElement} from 'react'; import { // $FlowFixMe Flow does not yet know about flushSync() flushSync, - // $FlowFixMe Flow does not yet know about createRoot() - createRoot, -} from 'react-dom'; +} from 'react-dom/client'; +import {createRoot} from 'react-dom/client'; import Bridge from 'react-devtools-shared/src/bridge'; import Store from 'react-devtools-shared/src/devtools/store'; import { diff --git a/packages/react-devtools-core/webpack.standalone.js b/packages/react-devtools-core/webpack.standalone.js index 234d638353f43..b7732d6641690 100644 --- a/packages/react-devtools-core/webpack.standalone.js +++ b/packages/react-devtools-core/webpack.standalone.js @@ -64,6 +64,7 @@ module.exports = { react: resolve(builtModulesDir, 'react'), 'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'), 'react-devtools-feature-flags': resolveFeatureFlags(featureFlagTarget), + 'react-dom/client': resolve(builtModulesDir, 'react-dom/client'), 'react-dom': resolve(builtModulesDir, 'react-dom'), 'react-is': resolve(builtModulesDir, 'react-is'), scheduler: resolve(builtModulesDir, 'scheduler'), diff --git a/packages/react-devtools-extensions/webpack.config.js b/packages/react-devtools-extensions/webpack.config.js index ac7c51f3bdc5e..3a913e0373804 100644 --- a/packages/react-devtools-extensions/webpack.config.js +++ b/packages/react-devtools-extensions/webpack.config.js @@ -76,6 +76,7 @@ module.exports = { react: resolve(builtModulesDir, 'react'), 'react-debug-tools': resolve(builtModulesDir, 'react-debug-tools'), 'react-devtools-feature-flags': resolveFeatureFlags(featureFlagTarget), + 'react-dom/client': resolve(builtModulesDir, 'react-dom/client'), 'react-dom': resolve(builtModulesDir, 'react-dom'), 'react-is': resolve(builtModulesDir, 'react-is'), scheduler: resolve(builtModulesDir, 'scheduler'), diff --git a/packages/react-devtools-inline/README.md b/packages/react-devtools-inline/README.md index fe071633528c6..53edee429bd02 100644 --- a/packages/react-devtools-inline/README.md +++ b/packages/react-devtools-inline/README.md @@ -60,7 +60,7 @@ const contentWindow = iframe.contentWindow; const DevTools = initialize(contentWindow); ``` -3 Because the DevTools interface makes use of several new React APIs (e.g. suspense, concurrent mode) it should be rendered using either `ReactDOM.createRoot` or `ReactDOM.createSyncRoot`. **It should not be rendered with `ReactDOM.render`.** +3 Because the DevTools interface makes use of several new React APIs (e.g. suspense, concurrent mode) it should be rendered using `ReactDOMClient.createRoot`. **It should not be rendered with `ReactDOM.render`.** ## Examples @@ -110,8 +110,7 @@ const DevTools = initializeFrontend(contentWindow); // as setting the src of the