From 63091939bdb82c75a5d935143705d09d51380430 Mon Sep 17 00:00:00 2001 From: Brian Vaughn Date: Tue, 1 Jun 2021 10:44:10 -0700 Subject: [PATCH] OSS feature flag updates (#21597) Co-authored-by: Dan Abramov --- packages/shared/ReactFeatureFlags.js | 4 ++-- packages/shared/forks/ReactFeatureFlags.www.js | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 3fa8cf284268c..29232d83a595d 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -25,7 +25,7 @@ export const debugRenderPhaseSideEffectsForStrictMode = __DEV__; // Helps identify code that is not safe for planned Offscreen API and Suspense semantics; // this feature flag only impacts StrictEffectsMode. -export const enableStrictEffects = false; +export const enableStrictEffects = __DEV__; // If TRUE, trees rendered with createRoot will be StrictEffectsMode. // If FALSE, these trees will be StrictLegacyMode. @@ -128,7 +128,7 @@ export const deletedTreeCleanUpLevel = 1; // Destroy layout effects for components that are hidden because something suspended in an update // and recreate them when they are shown again (after the suspended boundary has resolved). // Note that this should be an uncommon use case and can be avoided by using the transition API. -export const enableSuspenseLayoutEffectSemantics = false; +export const enableSuspenseLayoutEffectSemantics = true; // -------------------------- // Future APIs to be deprecated diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index 4ce769c617500..a5972151b79a1 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -25,7 +25,6 @@ export const { deferRenderPhaseUpdateToNextBatch, enableDebugTracing, skipUnmountedBoundaries, - enableStrictEffects, createRootStrictEffectsByDefault, enableSuspenseLayoutEffectSemantics, enableUseRefAccessWarning, @@ -39,6 +38,8 @@ export const { // On WWW, __EXPERIMENTAL__ is used for a new modern build. // It's not used anywhere in production yet. +export const enableStrictEffects = + __DEV__ && dynamicFeatureFlags.enableStrictEffects; export const debugRenderPhaseSideEffectsForStrictMode = __DEV__; export const enableProfilerTimer = __PROFILE__; export const enableProfilerCommitHooks = __PROFILE__;