From ae4f0b266fc034f418937d93c0b7bba7db48738e Mon Sep 17 00:00:00 2001 From: Dan Date: Wed, 26 Feb 2020 00:19:09 +0000 Subject: [PATCH] Add a flag to disable module pattern components --- packages/react-reconciler/src/ReactFiberBeginWork.js | 2 ++ packages/shared/ReactFeatureFlags.js | 2 ++ packages/shared/forks/ReactFeatureFlags.native-fb.js | 1 + packages/shared/forks/ReactFeatureFlags.native-oss.js | 1 + packages/shared/forks/ReactFeatureFlags.persistent.js | 1 + packages/shared/forks/ReactFeatureFlags.test-renderer.js | 1 + packages/shared/forks/ReactFeatureFlags.test-renderer.www.js | 1 + packages/shared/forks/ReactFeatureFlags.testing.js | 1 + packages/shared/forks/ReactFeatureFlags.testing.www.js | 1 + packages/shared/forks/ReactFeatureFlags.www.js | 2 ++ 10 files changed, 13 insertions(+) diff --git a/packages/react-reconciler/src/ReactFiberBeginWork.js b/packages/react-reconciler/src/ReactFiberBeginWork.js index 8eb9f9ffb95..0ad7767cafa 100644 --- a/packages/react-reconciler/src/ReactFiberBeginWork.js +++ b/packages/react-reconciler/src/ReactFiberBeginWork.js @@ -59,6 +59,7 @@ import ReactSharedInternals from 'shared/ReactSharedInternals'; import { debugRenderPhaseSideEffectsForStrictMode, disableLegacyContext, + disableModulePatternComponents, enableProfilerTimer, enableSchedulerTracing, enableSuspenseServerRenderer, @@ -1381,6 +1382,7 @@ function mountIndeterminateComponent( workInProgress.effectTag |= PerformedWork; if ( + !disableModulePatternComponents && typeof value === 'object' && value !== null && typeof value.render === 'function' && diff --git a/packages/shared/ReactFeatureFlags.js b/packages/shared/ReactFeatureFlags.js index 784accd974c..d0bd293e7de 100644 --- a/packages/shared/ReactFeatureFlags.js +++ b/packages/shared/ReactFeatureFlags.js @@ -125,6 +125,8 @@ export const disableTextareaChildren = false; // Disables Maps as ReactElement children export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; + // We should remove this flag once the above flag becomes enabled export const warnUnstableRenderSubtreeIntoContainer = false; diff --git a/packages/shared/forks/ReactFeatureFlags.native-fb.js b/packages/shared/forks/ReactFeatureFlags.native-fb.js index 2a6d0c93962..3d96beb2d8b 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-fb.js +++ b/packages/shared/forks/ReactFeatureFlags.native-fb.js @@ -45,6 +45,7 @@ export const enableTrainModelFix = true; export const enableTrustedTypesIntegration = false; export const disableTextareaChildren = false; export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.native-oss.js b/packages/shared/forks/ReactFeatureFlags.native-oss.js index 1aa8be179cb..1c2c63c49b3 100644 --- a/packages/shared/forks/ReactFeatureFlags.native-oss.js +++ b/packages/shared/forks/ReactFeatureFlags.native-oss.js @@ -40,6 +40,7 @@ export const enableTrustedTypesIntegration = false; export const enableNativeTargetAsInstance = false; export const disableTextareaChildren = false; export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.persistent.js b/packages/shared/forks/ReactFeatureFlags.persistent.js index 4ec1c8ed30f..a58d29389e7 100644 --- a/packages/shared/forks/ReactFeatureFlags.persistent.js +++ b/packages/shared/forks/ReactFeatureFlags.persistent.js @@ -40,6 +40,7 @@ export const enableTrustedTypesIntegration = false; export const enableNativeTargetAsInstance = false; export const disableTextareaChildren = false; export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.js index c1fae8355a9..3d3cb7bc0b8 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.js @@ -40,6 +40,7 @@ export const enableTrustedTypesIntegration = false; export const enableNativeTargetAsInstance = false; export const disableTextareaChildren = false; export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js index 45bb75b5b9d..7fd4e0faa94 100644 --- a/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js +++ b/packages/shared/forks/ReactFeatureFlags.test-renderer.www.js @@ -40,6 +40,7 @@ export const enableTrustedTypesIntegration = false; export const enableNativeTargetAsInstance = false; export const disableTextareaChildren = false; export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.testing.js b/packages/shared/forks/ReactFeatureFlags.testing.js index 30ba2e1f35f..6d714c13798 100644 --- a/packages/shared/forks/ReactFeatureFlags.testing.js +++ b/packages/shared/forks/ReactFeatureFlags.testing.js @@ -40,6 +40,7 @@ export const enableTrustedTypesIntegration = false; export const enableNativeTargetAsInstance = false; export const disableTextareaChildren = false; export const disableMapsAsChildren = false; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.testing.www.js b/packages/shared/forks/ReactFeatureFlags.testing.www.js index 37d53806ff1..7b1c6d6b91a 100644 --- a/packages/shared/forks/ReactFeatureFlags.testing.www.js +++ b/packages/shared/forks/ReactFeatureFlags.testing.www.js @@ -40,6 +40,7 @@ export const enableTrustedTypesIntegration = false; export const enableNativeTargetAsInstance = false; export const disableTextareaChildren = __EXPERIMENTAL__; export const disableMapsAsChildren = __EXPERIMENTAL__; +export const disableModulePatternComponents = false; export const warnUnstableRenderSubtreeIntoContainer = false; export const deferPassiveEffectCleanupDuringUnmount = false; export const runAllPassiveEffectDestroysBeforeCreates = false; diff --git a/packages/shared/forks/ReactFeatureFlags.www.js b/packages/shared/forks/ReactFeatureFlags.www.js index 5ff790efe46..7691b3d456d 100644 --- a/packages/shared/forks/ReactFeatureFlags.www.js +++ b/packages/shared/forks/ReactFeatureFlags.www.js @@ -97,6 +97,8 @@ export const disableTextareaChildren = __EXPERIMENTAL__; export const disableMapsAsChildren = __EXPERIMENTAL__; +export const disableModulePatternComponents = __EXPERIMENTAL__; + export const warnUnstableRenderSubtreeIntoContainer = false; export const enableModernEventSystem = false;