Skip to content

Commit 659af98

Browse files
committed
Add a feature flag to avoid leaking
1 parent 10ce45a commit 659af98

10 files changed

+14
-1
lines changed

packages/react-reconciler/src/ReactFiber.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ import {
3939
enableDebugTracing,
4040
enableFloat,
4141
enableHostSingletons,
42+
enableDO_NOT_USE_disableStrictPassiveEffect,
4243
} from 'shared/ReactFeatureFlags';
4344
import {NoFlags, Placement, StaticMask} from './ReactFiberFlags';
4445
import {ConcurrentRoot} from './ReactRootTags';
@@ -540,7 +541,10 @@ export function createFiberFromTypeAndProps(
540541
if ((mode & ConcurrentMode) !== NoMode) {
541542
// Strict effects should never run on legacy roots
542543
mode |= StrictEffectsMode;
543-
if (pendingProps.DO_NOT_USE_disableStrictPassiveEffect) {
544+
if (
545+
enableDO_NOT_USE_disableStrictPassiveEffect &&
546+
pendingProps.DO_NOT_USE_disableStrictPassiveEffect
547+
) {
544548
mode |= NoStrictPassiveEffectsMode;
545549
}
546550
}

packages/react/src/__tests__/ReactStrictMode-test.internal.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,7 @@ describe('ReactStrictMode', () => {
104104
]);
105105
});
106106

107+
// @gate enableDO_NOT_USE_disableStrictPassiveEffect
107108
it('should include legacy + strict effects mode, but not strict passive effect with disableStrictPassiveEffect', async () => {
108109
await act(() => {
109110
const container = document.createElement('div');

packages/shared/ReactFeatureFlags.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,3 +237,4 @@ export const consoleManagedByDevToolsDuringStrictMode = true;
237237
// components will encounter in production, especially when used With <Offscreen />.
238238
// TODO: clean up legacy <StrictMode /> once tests pass WWW.
239239
export const useModernStrictMode = false;
240+
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;

packages/shared/forks/ReactFeatureFlags.native-fb.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,7 @@ export const enableFloat = true;
8282
export const enableHostSingletons = true;
8383

8484
export const useModernStrictMode = false;
85+
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
8586
export const enableFizzExternalRuntime = false;
8687

8788
export const diffInCommitPhase = true;

packages/shared/forks/ReactFeatureFlags.native-oss.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export const enableFloat = true;
6868
export const enableHostSingletons = true;
6969

7070
export const useModernStrictMode = false;
71+
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
7172
export const enableFizzExternalRuntime = false;
7273
export const enableDeferRootSchedulingToMicrotask = true;
7374

packages/shared/forks/ReactFeatureFlags.test-renderer.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ export const enableFloat = true;
6868
export const enableHostSingletons = true;
6969

7070
export const useModernStrictMode = false;
71+
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
7172
export const enableFizzExternalRuntime = false;
7273
export const enableDeferRootSchedulingToMicrotask = true;
7374

packages/shared/forks/ReactFeatureFlags.test-renderer.native.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ export const enableFloat = true;
6666
export const enableHostSingletons = true;
6767

6868
export const useModernStrictMode = false;
69+
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
6970
export const enableDeferRootSchedulingToMicrotask = true;
7071

7172
export const diffInCommitPhase = true;

packages/shared/forks/ReactFeatureFlags.test-renderer.www.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,7 @@ export const enableFloat = true;
7070
export const enableHostSingletons = true;
7171

7272
export const useModernStrictMode = false;
73+
export const enableDO_NOT_USE_disableStrictPassiveEffect = false;
7374
export const enableFizzExternalRuntime = false;
7475
export const enableDeferRootSchedulingToMicrotask = true;
7576

packages/shared/forks/ReactFeatureFlags.www-dynamic.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ export const enableDeferRootSchedulingToMicrotask = __VARIANT__;
2828
export const diffInCommitPhase = __VARIANT__;
2929
export const enableAsyncActions = __VARIANT__;
3030
export const alwaysThrottleRetries = __VARIANT__;
31+
export const enableDO_NOT_USE_disableStrictPassiveEffect = __VARIANT__;
3132

3233
// Enable this flag to help with concurrent mode debugging.
3334
// It logs information to the console about React scheduling, rendering, and commit phases.

packages/shared/forks/ReactFeatureFlags.www.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ export const {
3030
diffInCommitPhase,
3131
enableAsyncActions,
3232
alwaysThrottleRetries,
33+
enableDO_NOT_USE_disableStrictPassiveEffect,
3334
} = dynamicFeatureFlags;
3435

3536
// On WWW, __EXPERIMENTAL__ is used for a new modern build.

0 commit comments

Comments
 (0)