@samitouri / QOS-React / commits / 562cf013db

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__;