diff --git a/packages/react-reconciler/src/ReactFiber.js b/packages/react-reconciler/src/ReactFiber.js
index 65feabd8c0a34..996bc72603f56 100644
--- a/packages/react-reconciler/src/ReactFiber.js
+++ b/packages/react-reconciler/src/ReactFiber.js
@@ -40,7 +40,6 @@ import {
enableScopeAPI,
enableLegacyHidden,
enableTransitionTracing,
- enableDO_NOT_USE_disableStrictPassiveEffect,
disableLegacyMode,
enableObjectFiber,
enableViewTransition,
@@ -92,7 +91,6 @@ import {
ProfileMode,
StrictLegacyMode,
StrictEffectsMode,
- NoStrictPassiveEffectsMode,
SuspenseyImagesMode,
} from './ReactTypeOfMode';
import {
@@ -599,12 +597,6 @@ export function createFiberFromTypeAndProps(
if (disableLegacyMode || (mode & ConcurrentMode) !== NoMode) {
// Strict effects should never run on legacy roots
mode |= StrictEffectsMode;
- if (
- enableDO_NOT_USE_disableStrictPassiveEffect &&
- pendingProps.DO_NOT_USE_disableStrictPassiveEffect
- ) {
- mode |= NoStrictPassiveEffectsMode;
- }
}
break;
case REACT_PROFILER_TYPE:
diff --git a/packages/react-reconciler/src/ReactFiberHooks.js b/packages/react-reconciler/src/ReactFiberHooks.js
index 1740ee0a8600a..63332124e2f0b 100644
--- a/packages/react-reconciler/src/ReactFiberHooks.js
+++ b/packages/react-reconciler/src/ReactFiberHooks.js
@@ -55,7 +55,6 @@ import {
ConcurrentMode,
StrictEffectsMode,
StrictLegacyMode,
- NoStrictPassiveEffectsMode,
} from './ReactTypeOfMode';
import {
NoLane,
@@ -2672,8 +2671,7 @@ function mountEffect(
): void {
if (
__DEV__ &&
- (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode &&
- (currentlyRenderingFiber.mode & NoStrictPassiveEffectsMode) === NoMode
+ (currentlyRenderingFiber.mode & StrictEffectsMode) !== NoMode
) {
mountEffectImpl(
MountPassiveDevEffect | PassiveEffect | PassiveStaticEffect,
diff --git a/packages/react-reconciler/src/ReactFiberWorkLoop.js b/packages/react-reconciler/src/ReactFiberWorkLoop.js
index fd74620975649..813633656eed7 100644
--- a/packages/react-reconciler/src/ReactFiberWorkLoop.js
+++ b/packages/react-reconciler/src/ReactFiberWorkLoop.js
@@ -123,7 +123,6 @@ import {
ConcurrentMode,
StrictLegacyMode,
StrictEffectsMode,
- NoStrictPassiveEffectsMode,
} from './ReactTypeOfMode';
import {
HostRoot,
@@ -4607,21 +4606,13 @@ function recursivelyTraverseAndDoubleInvokeEffectsInDEV(
}
// Unconditionally disconnects and connects passive and layout effects.
-function doubleInvokeEffectsOnFiber(
- root: FiberRoot,
- fiber: Fiber,
- shouldDoubleInvokePassiveEffects: boolean = true,
-) {
+function doubleInvokeEffectsOnFiber(root: FiberRoot, fiber: Fiber) {
setIsStrictModeForDevtools(true);
try {
disappearLayoutEffects(fiber);
- if (shouldDoubleInvokePassiveEffects) {
- disconnectPassiveEffect(fiber);
- }
+ disconnectPassiveEffect(fiber);
reappearLayoutEffects(root, fiber.alternate, fiber, false);
- if (shouldDoubleInvokePassiveEffects) {
- reconnectPassiveEffects(root, fiber, NoLanes, null, false, 0);
- }
+ reconnectPassiveEffects(root, fiber, NoLanes, null, false, 0);
} finally {
setIsStrictModeForDevtools(false);
}
@@ -4640,13 +4631,7 @@ function doubleInvokeEffectsInDEVIfNecessary(
if (fiber.tag !== OffscreenComponent) {
if (fiber.flags & PlacementDEV) {
if (isInStrictMode) {
- runWithFiberInDEV(
- fiber,
- doubleInvokeEffectsOnFiber,
- root,
- fiber,
- (fiber.mode & NoStrictPassiveEffectsMode) === NoMode,
- );
+ runWithFiberInDEV(fiber, doubleInvokeEffectsOnFiber, root, fiber);
}
} else {
recursivelyTraverseAndDoubleInvokeEffectsInDEV(
diff --git a/packages/react-reconciler/src/ReactTypeOfMode.js b/packages/react-reconciler/src/ReactTypeOfMode.js
index 4348fe2668647..22d0a7c6d1a01 100644
--- a/packages/react-reconciler/src/ReactTypeOfMode.js
+++ b/packages/react-reconciler/src/ReactTypeOfMode.js
@@ -16,7 +16,6 @@ export const ProfileMode = /* */ 0b0000010;
//export const DebugTracingMode = /* */ 0b0000100; // Removed
export const StrictLegacyMode = /* */ 0b0001000;
export const StrictEffectsMode = /* */ 0b0010000;
-export const NoStrictPassiveEffectsMode = /* */ 0b1000000;
// Keep track of if we're in a SuspenseyImages eligible subtree.
// TODO: Remove this when enableSuspenseyImages ship where it's always on.
export const SuspenseyImagesMode = /* */ 0b0100000;
diff --git a/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js b/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js
index 78947437f6473..de8adc7ce3ee4 100644
--- a/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js
+++ b/packages/react-reconciler/src/__tests__/ActivityStrictMode-test.js
@@ -55,28 +55,6 @@ describe('Activity StrictMode', () => {
]);
});
- // @gate __DEV__ && enableActivity && enableDO_NOT_USE_disableStrictPassiveEffect
- it('does not trigger strict effects when disableStrictPassiveEffect is presented on StrictMode', async () => {
- await act(() => {
- ReactNoop.render(
-
-
-
-
- ,
- );
- });
-
- expect(log).toEqual([
- 'A: render',
- 'A: render',
- 'A: useLayoutEffect mount',
- 'A: useEffect mount',
- 'A: useLayoutEffect unmount',
- 'A: useLayoutEffect mount',
- ]);
- });
-
// @gate __DEV__ && enableActivity
it('should not trigger strict effects when offscreen is hidden', async () => {
await act(() => {
diff --git a/packages/react/src/__tests__/ReactStrictMode-test.internal.js b/packages/react/src/__tests__/ReactStrictMode-test.internal.js
index 2867e06483792..28ac8a997449c 100644
--- a/packages/react/src/__tests__/ReactStrictMode-test.internal.js
+++ b/packages/react/src/__tests__/ReactStrictMode-test.internal.js
@@ -104,52 +104,6 @@ describe('ReactStrictMode', () => {
]);
});
- // @gate enableDO_NOT_USE_disableStrictPassiveEffect
- it('should include legacy + strict effects mode, but not strict passive effect with disableStrictPassiveEffect', async () => {
- await act(() => {
- const container = document.createElement('div');
- const root = ReactDOMClient.createRoot(container);
- root.render(
-
-
- ,
- );
- });
-
- expect(log).toEqual([
- 'A: render',
- 'A: render',
- 'A: useLayoutEffect mount',
- 'A: useEffect mount',
- 'A: useLayoutEffect unmount',
- 'A: useLayoutEffect mount',
- ]);
- });
-
- // @gate enableDO_NOT_USE_disableStrictPassiveEffect
- it('should include legacy + strict effects mode, but not strict passive effect with disableStrictPassiveEffect in Suspense', async () => {
- await act(() => {
- const container = document.createElement('div');
- const root = ReactDOMClient.createRoot(container);
- root.render(
-
-
-
-
- ,
- );
- });
-
- expect(log).toEqual([
- 'A: render',
- 'A: render',
- 'A: useLayoutEffect mount',
- 'A: useEffect mount',
- 'A: useLayoutEffect unmount',
- 'A: useLayoutEffect mount',
- ]);
- });
-
it('should allow level to be increased with nesting', async () => {
await act(() => {
const container = document.createElement('div');
diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js
index a1ea476b56e48..a56cc2582e5e0 100644
--- a/packages/shared/ReactFeatureFlags.js
+++ b/packages/shared/ReactFeatureFlags.js
@@ -260,7 +260,4 @@ export const enableAsyncDebugInfo = __EXPERIMENTAL__;
// Track which Fiber(s) schedule render work.
export const enableUpdaterTracking = __PROFILE__;
-// Internal only.
-export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
-
export const ownerStackLimit = 1e4;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js
index 3dd11f4af414b..c0eea7ee4ccf8 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js
@@ -44,7 +44,6 @@ export const enableAsyncDebugInfo = false;
export const enableAsyncIterableChildren = false;
export const enableCPUSuspense = true;
export const enableCreateEventHandleAPI = false;
-export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableMoveBefore = true;
export const enableFizzExternalRuntime = true;
export const enableHalt = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js
index b1978f05a1404..6893a3215b17d 100644
--- a/packages/shared/forks/ReactFeatureFlags.native-oss.js
+++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js
@@ -29,7 +29,6 @@ export const enableAsyncDebugInfo = false;
export const enableAsyncIterableChildren = false;
export const enableCPUSuspense = false;
export const enableCreateEventHandleAPI = false;
-export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableMoveBefore = true;
export const enableFizzExternalRuntime = true;
export const enableHalt = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
index 4a49fb7316cfd..c0a909ba5ce8a 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js
@@ -49,7 +49,6 @@ export const enableLegacyHidden = false;
export const enableTransitionTracing = false;
-export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableFizzExternalRuntime = true;
export const alwaysThrottleRetries = true;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
index c001a68557baa..51c6239dcd89d 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.native-fb.js
@@ -24,7 +24,6 @@ export const enableAsyncDebugInfo = false;
export const enableAsyncIterableChildren = false;
export const enableCPUSuspense = true;
export const enableCreateEventHandleAPI = false;
-export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableMoveBefore = false;
export const enableFizzExternalRuntime = true;
export const enableHalt = false;
diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
index f58e154d0218e..209fbd4b8ceb0 100644
--- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
@@ -50,7 +50,6 @@ export const enableLegacyHidden = false;
export const enableTransitionTracing = false;
-export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
export const enableFizzExternalRuntime = false;
export const alwaysThrottleRetries = true;
diff --git a/packages/shared/forks/ReactFeatureFlags.www-dynamic.js b/packages/shared/forks/ReactFeatureFlags.www-dynamic.js
index 263d7ca04842e..eeccf763ca364 100644
--- a/packages/shared/forks/ReactFeatureFlags.www-dynamic.js
+++ b/packages/shared/forks/ReactFeatureFlags.www-dynamic.js
@@ -17,7 +17,6 @@ export const alwaysThrottleRetries = __VARIANT__;
export const disableDefaultPropsExceptForClasses = __VARIANT__;
export const disableLegacyContextForFunctionComponents = __VARIANT__;
export const disableSchedulerTimeoutInWorkLoop = __VARIANT__;
-export const enableDO_NOT_USE_disableStrictPassiveEffect = __VARIANT__;
export const enableHiddenSubtreeInsertionEffectCleanup = __VARIANT__;
export const enableNoCloningMemoCache = __VARIANT__;
export const enableObjectFiber = __VARIANT__;
diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js
index 807e86da2b344..29bb652fd74ea 100644
--- a/packages/shared/forks/ReactFeatureFlags.www.js
+++ b/packages/shared/forks/ReactFeatureFlags.www.js
@@ -19,7 +19,6 @@ export const {
disableDefaultPropsExceptForClasses,
disableLegacyContextForFunctionComponents,
disableSchedulerTimeoutInWorkLoop,
- enableDO_NOT_USE_disableStrictPassiveEffect,
enableHiddenSubtreeInsertionEffectCleanup,
enableInfiniteRenderLoopDetection,
enableNoCloningMemoCache,