diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js
index a71eb543cf..7377f605a8 100644
--- a/packages/react-reconciler/src/ReactFiberWorkLoop.js
+++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js
@@ -32,7 +32,6 @@ import {
enableSchedulingProfiler,
enableUpdaterTracking,
enableTransitionTracing,
- useModernStrictMode,
disableLegacyContext,
alwaysThrottleRetries,
enableInfiniteRenderLoopDetection,
@@ -4205,7 +4204,7 @@ function commitDoubleInvokeEffectsInDEV(
hasPassiveEffects: boolean,
) {
if (__DEV__) {
- if (useModernStrictMode && (disableLegacyMode || root.tag !== LegacyRoot)) {
+ if (disableLegacyMode || root.tag !== LegacyRoot) {
let doubleInvokeEffects = true;
if (
diff --git a/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js b/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js
index 85365d3e70..12b319080d 100644
--- a/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js
+++ b/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js
@@ -77,7 +77,7 @@ describe('Activity StrictMode', () => {
]);
});
- // @gate __DEV__ && enableActivity && useModernStrictMode
+ // @gate __DEV__ && enableActivity
it('should not trigger strict effects when offscreen is hidden', async () => {
await act(() => {
ReactNoop.render(
diff --git a/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js b/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js
index 0ce01a650c..0c7e75c39a 100644
--- a/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js
+++ b/packages/react-reconciler/src/__tests__/StrictEffectsMode-test.js
@@ -945,34 +945,25 @@ describe('StrictEffectsMode', () => {
shouldSuspend = false;
});
- if (gate(flags => flags.useModernStrictMode)) {
- expect(log).toEqual([
- 'Child rendered',
- 'Child rendered',
- // !!! Committed, destroy and create effect.
- // !!! The other effect is not destroyed and created
- // !!! because the dep didn't change
- 'Child dep destroy',
- 'Child dep create',
+ expect(log).toEqual([
+ 'Child rendered',
+ 'Child rendered',
+ // !!! Committed, destroy and create effect.
+ // !!! The other effect is not destroyed and created
+ // !!! because the dep didn't change
+ 'Child dep destroy',
+ 'Child dep create',
- // Double invoke both effects
- 'Child destroy',
- 'Child dep destroy',
- 'Child create',
- 'Child dep create',
- // Fires setState
- '-----------------------after setState',
- 'Child rendered',
- 'Child rendered',
- 'Child dep create',
- ]);
- } else {
- expect(log).toEqual([
- 'Child rendered',
- 'Child rendered',
- 'Child dep destroy',
- 'Child dep create',
- ]);
- }
+ // Double invoke both effects
+ 'Child destroy',
+ 'Child dep destroy',
+ 'Child create',
+ 'Child dep create',
+ // Fires setState
+ '-----------------------after setState',
+ 'Child rendered',
+ 'Child rendered',
+ 'Child dep create',
+ ]);
});
});
diff --git a/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js b/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js
index c9f65a20a0..5829cd0904 100644
--- a/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js
+++ b/packages/react-reconciler/src/__tests__/StrictEffectsModeDefaults-test.internal.js
@@ -461,7 +461,6 @@ describe('StrictEffectsMode defaults', () => {
expect(log).toEqual([]);
});
- //@gate useModernStrictMode
it('disconnects refs during double invoking', async () => {
const onRefMock = jest.fn();
function App({text}) {
diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js
index 8540d6e147..7d45abe69f 100644
--- a/packages/shared/ReactFeatureFlags.js
+++ b/packages/shared/ReactFeatureFlags.js
@@ -186,12 +186,6 @@ export const disableLegacyContext = true;
*/
export const disableLegacyContextForFunctionComponents = true;
-// Not ready to break experimental yet.
-// Modern behaviour aligns more with what components
-// components will encounter in production, especially when used With .
-// TODO: clean up legacy once tests pass WWW.
-export const useModernStrictMode = true;
-
// Enable the moveBefore() alternative to insertBefore(). This preserves states of moves.
export const enableMoveBefore = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js
index 45807e9d87..73ccd5fb8e 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js
@@ -80,7 +80,6 @@ export const renameElementSymbol = false;
export const retryLaneExpirationMs = 5000;
export const syncLaneExpirationMs = 250;
export const transitionLaneExpirationMs = 5000;
-export const useModernStrictMode = true;
export const enableHydrationLaneScheduling = true;
export const enableYieldingBeforePassive = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js
index c29da18a42..7699aa73f7 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-oss.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js
@@ -70,7 +70,6 @@ export const renameElementSymbol = true;
export const retryLaneExpirationMs = 5000;
export const syncLaneExpirationMs = 250;
export const transitionLaneExpirationMs = 5000;
-export const useModernStrictMode = true;
export const enableSiblingPrerendering = true;
export const enableUseResourceEffectHook = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
index df58c53eda..c23c4ba131 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
@@ -52,7 +52,6 @@ export const enableLegacyHidden = false;
export const enableTransitionTracing = false;
-export const useModernStrictMode = true;
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableFizzExternalRuntime = true;
export const enableDeferRootSchedulingToMicrotask = true;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
index a4dc5cb76d..8574f34c4e 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
@@ -65,7 +65,6 @@ export const renameElementSymbol = false;
export const retryLaneExpirationMs = 5000;
export const syncLaneExpirationMs = 250;
export const transitionLaneExpirationMs = 5000;
-export const useModernStrictMode = true;
export const enableFabricCompleteRootInCommitPhase = false;
export const enableSiblingPrerendering = true;
export const enableUseResourceEffectHook = true;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
index e7c92602a0..97743f0d46 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
@@ -54,7 +54,6 @@ export const enableLegacyHidden = false;
export const enableTransitionTracing = false;
-export const useModernStrictMode = true;
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableFizzExternalRuntime = false;
export const enableDeferRootSchedulingToMicrotask = true;
diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js
index da62754a13..c027e2bdc1 100644
--- a/packages/shared/forks/ReactFeatureFlags.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.www.js
@@ -106,7 +106,6 @@ export const disableClientCache = true;
export const enableServerComponentLogs = true;
export const enableReactTestRendererWarning = false;
-export const useModernStrictMode = true;
export const disableLegacyMode = true;