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,