Add a flag to disable module pattern components (#18133)
Dan Abramov committed
Mar 6, 2020 at 18:46 UTC
562cf013dbd80cade517e25192ee19e958aef55b
10 files changed
+13
packages/react-reconciler/src/ReactFiberBeginWork.js
+2
@@ -59,6 +59,7 @@ import ReactSharedInternals from 'shared/ReactSharedInternals';
59
import {
60
debugRenderPhaseSideEffectsForStrictMode,
61
disableLegacyContext,
62
+ disableModulePatternComponents,
63
enableProfilerTimer,
64
enableSchedulerTracing,
65
enableSuspenseServerRenderer,
@@ -1377,6 +1378,7 @@ function mountIndeterminateComponent(
1378
workInProgress.effectTag |= PerformedWork;
1379
1380
if (
1381
+ !disableModulePatternComponents &&
1382
typeof value === 'object' &&
1383
value !== null &&
1384
typeof value.render === 'function' &&
packages/shared/ReactFeatureFlags.js
+2
@@ -126,6 +126,8 @@ export const disableTextareaChildren = false;
126
// Disables Maps as ReactElement children
127
export const disableMapsAsChildren = false;
128
129
+export const disableModulePatternComponents = false;
130
+
131
// We should remove this flag once the above flag becomes enabled
132
export const warnUnstableRenderSubtreeIntoContainer = false;
133
packages/shared/forks/ReactFeatureFlags.native-fb.js
+1
@@ -40,6 +40,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
40
export const enableTrustedTypesIntegration = false;
41
export const disableTextareaChildren = false;
42
export const disableMapsAsChildren = false;
43
+export const disableModulePatternComponents = false;
44
export const warnUnstableRenderSubtreeIntoContainer = false;
45
export const deferPassiveEffectCleanupDuringUnmount = false;
46
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.native-oss.js
+1
@@ -39,6 +39,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
39
export const enableTrustedTypesIntegration = false;
40
export const disableTextareaChildren = false;
41
export const disableMapsAsChildren = false;
42
+export const disableModulePatternComponents = false;
43
export const warnUnstableRenderSubtreeIntoContainer = false;
44
export const deferPassiveEffectCleanupDuringUnmount = false;
45
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.persistent.js
+1
@@ -39,6 +39,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
39
export const enableTrustedTypesIntegration = false;
40
export const disableTextareaChildren = false;
41
export const disableMapsAsChildren = false;
42
+export const disableModulePatternComponents = false;
43
export const warnUnstableRenderSubtreeIntoContainer = false;
44
export const deferPassiveEffectCleanupDuringUnmount = false;
45
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.js
+1
@@ -39,6 +39,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
39
export const enableTrustedTypesIntegration = false;
40
export const disableTextareaChildren = false;
41
export const disableMapsAsChildren = false;
42
+export const disableModulePatternComponents = false;
43
export const warnUnstableRenderSubtreeIntoContainer = false;
44
export const deferPassiveEffectCleanupDuringUnmount = false;
45
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
+1
@@ -39,6 +39,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
39
export const enableTrustedTypesIntegration = false;
40
export const disableTextareaChildren = false;
41
export const disableMapsAsChildren = false;
42
+export const disableModulePatternComponents = false;
43
export const warnUnstableRenderSubtreeIntoContainer = false;
44
export const deferPassiveEffectCleanupDuringUnmount = false;
45
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.testing.js
+1
@@ -39,6 +39,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
39
export const enableTrustedTypesIntegration = false;
40
export const disableTextareaChildren = false;
41
export const disableMapsAsChildren = false;
42
+export const disableModulePatternComponents = false;
43
export const warnUnstableRenderSubtreeIntoContainer = false;
44
export const deferPassiveEffectCleanupDuringUnmount = false;
45
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.testing.www.js
+1
@@ -39,6 +39,7 @@ export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
39
export const enableTrustedTypesIntegration = false;
40
export const disableTextareaChildren = __EXPERIMENTAL__;
41
export const disableMapsAsChildren = __EXPERIMENTAL__;
42
+export const disableModulePatternComponents = false;
43
export const warnUnstableRenderSubtreeIntoContainer = false;
44
export const deferPassiveEffectCleanupDuringUnmount = false;
45
export const runAllPassiveEffectDestroysBeforeCreates = false;
packages/shared/forks/ReactFeatureFlags.www.js
+2
@@ -98,6 +98,8 @@ export const disableTextareaChildren = __EXPERIMENTAL__;
98
99
export const disableMapsAsChildren = __EXPERIMENTAL__;
100
101
+export const disableModulePatternComponents = __EXPERIMENTAL__;
102
+
103
export const warnUnstableRenderSubtreeIntoContainer = false;
104
105
export const enableLegacyFBPrimerSupport = !__EXPERIMENTAL__;