diff --git a/packages/react-dom/src/__tests__/renderSubtreeIntoContainer-test.js b/packages/react-dom/src/__tests__/renderSubtreeIntoContainer-test.js
index a7ae3807da416..2a540f9929d14 100644
--- a/packages/react-dom/src/__tests__/renderSubtreeIntoContainer-test.js
+++ b/packages/react-dom/src/__tests__/renderSubtreeIntoContainer-test.js
@@ -56,14 +56,18 @@ if (ReactFeatureFlags.disableUnstableRenderSubtreeIntoContainer) {
}
componentDidMount() {
- expect(
- function() {
- renderSubtreeIntoContainer(this, , portal);
- }.bind(this),
- ).toWarnDev(
- 'ReactDOM.unstable_renderSubtreeIntoContainer() is deprecated and ' +
- 'will be removed in a future major release. Consider using React Portals instead.',
- );
+ if (ReactFeatureFlags.warnUnstableRenderSubtreeIntoContainer) {
+ expect(
+ function() {
+ renderSubtreeIntoContainer(this, , portal);
+ }.bind(this),
+ ).toWarnDev(
+ 'ReactDOM.unstable_renderSubtreeIntoContainer() is deprecated and ' +
+ 'will be removed in a future major release. Consider using React Portals instead.',
+ );
+ } else {
+ renderSubtreeIntoContainer(this, , portal);
+ }
}
}
diff --git a/packages/react-dom/src/client/ReactDOM.js b/packages/react-dom/src/client/ReactDOM.js
index 19a3db22387c0..51b4071363b01 100644
--- a/packages/react-dom/src/client/ReactDOM.js
+++ b/packages/react-dom/src/client/ReactDOM.js
@@ -57,6 +57,7 @@ import {
exposeConcurrentModeAPIs,
disableUnstableCreatePortal,
disableUnstableRenderSubtreeIntoContainer,
+ warnUnstableRenderSubtreeIntoContainer,
} from 'shared/ReactFeatureFlags';
import {
@@ -179,7 +180,10 @@ if (exposeConcurrentModeAPIs) {
if (!disableUnstableRenderSubtreeIntoContainer) {
ReactDOM.unstable_renderSubtreeIntoContainer = function(...args) {
if (__DEV__) {
- if (!didWarnAboutUnstableRenderSubtreeIntoContainer) {
+ if (
+ warnUnstableRenderSubtreeIntoContainer &&
+ !didWarnAboutUnstableRenderSubtreeIntoContainer
+ ) {
didWarnAboutUnstableRenderSubtreeIntoContainer = true;
console.warn(
'ReactDOM.unstable_renderSubtreeIntoContainer() is deprecated ' +
diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js
index 6705b683cf4c3..ead32bb435b40 100644
--- a/packages/shared/ReactFeatureFlags.js
+++ b/packages/shared/ReactFeatureFlags.js
@@ -111,6 +111,8 @@ export const disableTextareaChildren = false;
// Disables ReactDOM.unstable_renderSubtreeIntoContainer
export const disableUnstableRenderSubtreeIntoContainer = false;
+// We should remove this flag once the above flag becomes enabled
+export const warnUnstableRenderSubtreeIntoContainer = false;
// Disables ReactDOM.unstable_createPortal
export const disableUnstableCreatePortal = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js
index 0fac92224c125..7ae4ab0e4113d 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js
@@ -48,6 +48,7 @@ export const enableTrustedTypesIntegration = false;
export const disableCreateFactory = false;
export const disableTextareaChildren = false;
export const disableUnstableRenderSubtreeIntoContainer = false;
+export const warnUnstableRenderSubtreeIntoContainer = false;
export const disableUnstableCreatePortal = false;
// Only used in www builds.
diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js
index 1ab71e94964cb..241dad2cf7e3c 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-oss.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js
@@ -43,6 +43,7 @@ export const enableNativeTargetAsInstance = false;
export const disableCreateFactory = false;
export const disableTextareaChildren = false;
export const disableUnstableRenderSubtreeIntoContainer = false;
+export const warnUnstableRenderSubtreeIntoContainer = false;
export const disableUnstableCreatePortal = false;
// Only used in www builds.
diff --git a/packages/shared/forks/ReactFeatureFlags.persistent.js b/packages/shared/forks/ReactFeatureFlags.persistent.js
index 995cb081cdb21..a8bb6bf0aff56 100644
--- a/packages/shared/forks/ReactFeatureFlags.persistent.js
+++ b/packages/shared/forks/ReactFeatureFlags.persistent.js
@@ -43,6 +43,7 @@ export const enableNativeTargetAsInstance = false;
export const disableCreateFactory = false;
export const disableTextareaChildren = false;
export const disableUnstableRenderSubtreeIntoContainer = false;
+export const warnUnstableRenderSubtreeIntoContainer = false;
export const disableUnstableCreatePortal = false;
// Only used in www builds.
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
index 4f8251d196b9d..ae94c8f7f5e7b 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
@@ -43,6 +43,7 @@ export const enableNativeTargetAsInstance = false;
export const disableCreateFactory = false;
export const disableTextareaChildren = false;
export const disableUnstableRenderSubtreeIntoContainer = false;
+export const warnUnstableRenderSubtreeIntoContainer = false;
export const disableUnstableCreatePortal = false;
// Only used in www builds.
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
index 514d532333f8c..60448b0097b0e 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
@@ -41,6 +41,7 @@ export const enableNativeTargetAsInstance = false;
export const disableCreateFactory = false;
export const disableTextareaChildren = false;
export const disableUnstableRenderSubtreeIntoContainer = false;
+export const warnUnstableRenderSubtreeIntoContainer = false;
export const disableUnstableCreatePortal = false;
// Only used in www builds.
diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js
index cf14d167f297c..cd3e59e5fe589 100644
--- a/packages/shared/forks/ReactFeatureFlags.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.www.js
@@ -97,6 +97,8 @@ export const disableTextareaChildren = false;
export const disableUnstableRenderSubtreeIntoContainer = false;
+export const warnUnstableRenderSubtreeIntoContainer = false;
+
export const disableUnstableCreatePortal = false;
// Flow magic to verify the exports of this file match the original version.