mirror of
https://github.com/zebrajr/react.git
synced 2025-12-06 00:20:04 +01:00
Remove feature flag enableDO_NOT_USE_disableStrictPassiveEffect (#33524)
This commit is contained in:
parent
6b7e207cab
commit
5d24c64cc9
8
packages/react-reconciler/src/ReactFiber.js
vendored
8
packages/react-reconciler/src/ReactFiber.js
vendored
|
|
@ -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:
|
||||
|
|
|
|||
|
|
@ -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,
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
<React.StrictMode DO_NOT_USE_disableStrictPassiveEffect={true}>
|
||||
<Activity>
|
||||
<Component label="A" />
|
||||
</Activity>
|
||||
</React.StrictMode>,
|
||||
);
|
||||
});
|
||||
|
||||
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(() => {
|
||||
|
|
|
|||
|
|
@ -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(
|
||||
<React.StrictMode DO_NOT_USE_disableStrictPassiveEffect={true}>
|
||||
<Component label="A" />
|
||||
</React.StrictMode>,
|
||||
);
|
||||
});
|
||||
|
||||
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(
|
||||
<React.StrictMode DO_NOT_USE_disableStrictPassiveEffect={true}>
|
||||
<React.Suspense>
|
||||
<Component label="A" />
|
||||
</React.Suspense>
|
||||
</React.StrictMode>,
|
||||
);
|
||||
});
|
||||
|
||||
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');
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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__;
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ export const {
|
|||
disableDefaultPropsExceptForClasses,
|
||||
disableLegacyContextForFunctionComponents,
|
||||
disableSchedulerTimeoutInWorkLoop,
|
||||
enableDO_NOT_USE_disableStrictPassiveEffect,
|
||||
enableHiddenSubtreeInsertionEffectCleanup,
|
||||
enableInfiniteRenderLoopDetection,
|
||||
enableNoCloningMemoCache,
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user