@samitouri / QOS-React-2 / commits / 4de3a60325

Remove disableMapsAsChildren flag (#18445)

Change warning to say the case is unsupported (not "will be deprecated")

Brian Vaughn committed Mar 31, 2020 at 11:00 UTC 4de3a603256ab36fc58026ce2d75b4ad9e3556bc
12 files changed +6 -30
packages/react-dom/src/__tests__/ReactMultiChild-test.js
+2 -3
@@ -295,9 +295,8 @@ describe('ReactMultiChild', () => {
295 }
296 const container = document.createElement('div');
297 expect(() => ReactDOM.render(<Parent />, container)).toErrorDev(
298 - 'Warning: Using Maps as children is unsupported and will likely yield ' +
299 - 'unexpected results. Convert it to a sequence/iterable of keyed ' +
300 - 'ReactElements instead.\n' +
298 + 'Using Maps as children is not supported. ' +
299 + 'Use an array of keyed ReactElements instead.\n' +
300 ' in div (at **)\n' +
301 ' in Parent (at **)',
302 );
packages/react-reconciler/src/ReactChildFiber.js
+2 -3
@@ -998,9 +998,8 @@ function ChildReconciler(shouldTrackSideEffects) {
998 if ((newChildrenIterable: any).entries === iteratorFn) {
999 if (!didWarnAboutMaps) {
1000 console.error(
1001 - 'Using Maps as children is unsupported and will likely yield ' +
1002 - 'unexpected results. Convert it to a sequence/iterable of keyed ' +
1003 - 'ReactElements instead.',
1001 + 'Using Maps as children is not supported. ' +
1002 + 'Use an array of keyed ReactElements instead.',
1003 );
1004 }
1005 didWarnAboutMaps = true;
packages/react/src/ReactChildren.js
+2 -12
@@ -15,7 +15,6 @@ import {
15 REACT_ELEMENT_TYPE,
16 REACT_PORTAL_TYPE,
17 } from 'shared/ReactSymbols';
18 -import {disableMapsAsChildren} from 'shared/ReactFeatureFlags';
18
19 import {isValidElement, cloneAndReplaceKey} from './ReactElement';
20 import ReactDebugCurrentFrame from './ReactDebugCurrentFrame';
@@ -162,23 +161,14 @@ function mapIntoArray(
161 const iterableChildren: Iterable<React$Node> & {
162 entries: any,
163 } = (children: any);
165 - if (disableMapsAsChildren) {
166 - invariant(
167 - iteratorFn !== iterableChildren.entries,
168 - 'Maps are not valid as a React child (found: %s). Consider converting ' +
169 - 'children to an array of keyed ReactElements instead.',
170 - iterableChildren,
171 - );
172 - }
164
165 if (__DEV__) {
166 // Warn about using Maps as children
167 if (iteratorFn === iterableChildren.entries) {
168 if (!didWarnAboutMaps) {
169 console.warn(
179 - 'Using Maps as children is deprecated and will be removed in ' +
180 - 'a future major release. Consider converting children to ' +
181 - 'an array of keyed ReactElements instead.',
170 + 'Using Maps as children is not supported. ' +
171 + 'Use an array of keyed ReactElements instead.',
172 );
173 }
174 didWarnAboutMaps = true;
packages/shared/ReactFeatureFlags.js
-3
@@ -121,9 +121,6 @@ export const disableLegacyContext = false;
121 // Disables children for <textarea> elements
122 export const disableTextareaChildren = false;
123
124 -// Disables Maps as ReactElement children
125 -export const disableMapsAsChildren = false;
126 -
124 export const disableModulePatternComponents = false;
125
126 // We should remove this flag once the above flag becomes enabled
packages/shared/forks/ReactFeatureFlags.native-fb.js
-1
@@ -37,7 +37,6 @@ export const disableLegacyContext = false;
37 export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
38 export const enableTrustedTypesIntegration = false;
39 export const disableTextareaChildren = false;
40 -export const disableMapsAsChildren = false;
40 export const disableModulePatternComponents = false;
41 export const warnUnstableRenderSubtreeIntoContainer = false;
42 export const deferPassiveEffectCleanupDuringUnmount = false;
packages/shared/forks/ReactFeatureFlags.native-oss.js
-1
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
36 export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
37 export const enableTrustedTypesIntegration = false;
38 export const disableTextareaChildren = false;
39 -export const disableMapsAsChildren = false;
39 export const disableModulePatternComponents = false;
40 export const warnUnstableRenderSubtreeIntoContainer = false;
41 export const deferPassiveEffectCleanupDuringUnmount = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.js
-1
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
36 export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
37 export const enableTrustedTypesIntegration = false;
38 export const disableTextareaChildren = false;
39 -export const disableMapsAsChildren = false;
39 export const disableModulePatternComponents = false;
40 export const warnUnstableRenderSubtreeIntoContainer = false;
41 export const deferPassiveEffectCleanupDuringUnmount = false;
packages/shared/forks/ReactFeatureFlags.test-renderer.www.js
-1
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
36 export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
37 export const enableTrustedTypesIntegration = false;
38 export const disableTextareaChildren = false;
39 -export const disableMapsAsChildren = false;
39 export const disableModulePatternComponents = false;
40 export const warnUnstableRenderSubtreeIntoContainer = false;
41 export const deferPassiveEffectCleanupDuringUnmount = true;
packages/shared/forks/ReactFeatureFlags.testing.js
-1
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
36 export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
37 export const enableTrustedTypesIntegration = false;
38 export const disableTextareaChildren = false;
39 -export const disableMapsAsChildren = false;
39 export const disableModulePatternComponents = false;
40 export const warnUnstableRenderSubtreeIntoContainer = false;
41 export const deferPassiveEffectCleanupDuringUnmount = false;
packages/shared/forks/ReactFeatureFlags.testing.www.js
-1
@@ -36,7 +36,6 @@ export const disableLegacyContext = __EXPERIMENTAL__;
36 export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
37 export const enableTrustedTypesIntegration = false;
38 export const disableTextareaChildren = __EXPERIMENTAL__;
39 -export const disableMapsAsChildren = __EXPERIMENTAL__;
39 export const disableModulePatternComponents = false;
40 export const warnUnstableRenderSubtreeIntoContainer = false;
41 export const deferPassiveEffectCleanupDuringUnmount = true;
packages/shared/forks/ReactFeatureFlags.www.js
-2
@@ -65,8 +65,6 @@ export const flushSuspenseFallbacksInTests = true;
65
66 export const disableTextareaChildren = __EXPERIMENTAL__;
67
68 -export const disableMapsAsChildren = __EXPERIMENTAL__;
69 -
68 export const disableModulePatternComponents = __EXPERIMENTAL__;
69
70 export const warnUnstableRenderSubtreeIntoContainer = false;
scripts/error-codes/codes.json
-1
@@ -345,7 +345,6 @@
345 "344": "Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.",
346 "345": "Root did not complete. This is a bug in React.",
347 "346": "An event responder context was used outside of an event cycle.",
348 - "347": "Maps are not valid as a React child (found: %s). Consider converting children to an array of keyed ReactElements instead.",
348 "348": "ensureListeningTo(): received a container that was not an element node. This is likely a bug in React.",
349 "349": "Expected a work-in-progress root. This is a bug in React. Please file an issue.",
350 "350": "Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.",