mirror of
https://github.com/zebrajr/react.git
synced 2026-01-15 12:15:22 +00:00
Remove disableMapsAsChildren flag (#18445)
Change warning to say the case is unsupported (not "will be deprecated")
This commit is contained in:
@@ -295,9 +295,8 @@ describe('ReactMultiChild', () => {
|
||||
}
|
||||
const container = document.createElement('div');
|
||||
expect(() => ReactDOM.render(<Parent />, container)).toErrorDev(
|
||||
'Warning: Using Maps as children is unsupported and will likely yield ' +
|
||||
'unexpected results. Convert it to a sequence/iterable of keyed ' +
|
||||
'ReactElements instead.\n' +
|
||||
'Using Maps as children is not supported. ' +
|
||||
'Use an array of keyed ReactElements instead.\n' +
|
||||
' in div (at **)\n' +
|
||||
' in Parent (at **)',
|
||||
);
|
||||
|
||||
@@ -998,9 +998,8 @@ function ChildReconciler(shouldTrackSideEffects) {
|
||||
if ((newChildrenIterable: any).entries === iteratorFn) {
|
||||
if (!didWarnAboutMaps) {
|
||||
console.error(
|
||||
'Using Maps as children is unsupported and will likely yield ' +
|
||||
'unexpected results. Convert it to a sequence/iterable of keyed ' +
|
||||
'ReactElements instead.',
|
||||
'Using Maps as children is not supported. ' +
|
||||
'Use an array of keyed ReactElements instead.',
|
||||
);
|
||||
}
|
||||
didWarnAboutMaps = true;
|
||||
|
||||
@@ -15,7 +15,6 @@ import {
|
||||
REACT_ELEMENT_TYPE,
|
||||
REACT_PORTAL_TYPE,
|
||||
} from 'shared/ReactSymbols';
|
||||
import {disableMapsAsChildren} from 'shared/ReactFeatureFlags';
|
||||
|
||||
import {isValidElement, cloneAndReplaceKey} from './ReactElement';
|
||||
import ReactDebugCurrentFrame from './ReactDebugCurrentFrame';
|
||||
@@ -162,23 +161,14 @@ function mapIntoArray(
|
||||
const iterableChildren: Iterable<React$Node> & {
|
||||
entries: any,
|
||||
} = (children: any);
|
||||
if (disableMapsAsChildren) {
|
||||
invariant(
|
||||
iteratorFn !== iterableChildren.entries,
|
||||
'Maps are not valid as a React child (found: %s). Consider converting ' +
|
||||
'children to an array of keyed ReactElements instead.',
|
||||
iterableChildren,
|
||||
);
|
||||
}
|
||||
|
||||
if (__DEV__) {
|
||||
// Warn about using Maps as children
|
||||
if (iteratorFn === iterableChildren.entries) {
|
||||
if (!didWarnAboutMaps) {
|
||||
console.warn(
|
||||
'Using Maps as children is deprecated and will be removed in ' +
|
||||
'a future major release. Consider converting children to ' +
|
||||
'an array of keyed ReactElements instead.',
|
||||
'Using Maps as children is not supported. ' +
|
||||
'Use an array of keyed ReactElements instead.',
|
||||
);
|
||||
}
|
||||
didWarnAboutMaps = true;
|
||||
|
||||
@@ -121,9 +121,6 @@ export const disableLegacyContext = false;
|
||||
// Disables children for <textarea> elements
|
||||
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
|
||||
|
||||
@@ -37,7 +37,6 @@ export const disableLegacyContext = false;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
export const enableTrustedTypesIntegration = false;
|
||||
export const disableTextareaChildren = false;
|
||||
export const disableMapsAsChildren = false;
|
||||
export const disableModulePatternComponents = false;
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
export const deferPassiveEffectCleanupDuringUnmount = false;
|
||||
|
||||
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
export const enableTrustedTypesIntegration = false;
|
||||
export const disableTextareaChildren = false;
|
||||
export const disableMapsAsChildren = false;
|
||||
export const disableModulePatternComponents = false;
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
export const deferPassiveEffectCleanupDuringUnmount = false;
|
||||
|
||||
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
export const enableTrustedTypesIntegration = false;
|
||||
export const disableTextareaChildren = false;
|
||||
export const disableMapsAsChildren = false;
|
||||
export const disableModulePatternComponents = false;
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
export const deferPassiveEffectCleanupDuringUnmount = false;
|
||||
|
||||
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
export const enableTrustedTypesIntegration = false;
|
||||
export const disableTextareaChildren = false;
|
||||
export const disableMapsAsChildren = false;
|
||||
export const disableModulePatternComponents = false;
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
export const deferPassiveEffectCleanupDuringUnmount = true;
|
||||
|
||||
@@ -36,7 +36,6 @@ export const disableLegacyContext = false;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
export const enableTrustedTypesIntegration = false;
|
||||
export const disableTextareaChildren = false;
|
||||
export const disableMapsAsChildren = false;
|
||||
export const disableModulePatternComponents = false;
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
export const deferPassiveEffectCleanupDuringUnmount = false;
|
||||
|
||||
@@ -36,7 +36,6 @@ export const disableLegacyContext = __EXPERIMENTAL__;
|
||||
export const disableSchedulerTimeoutBasedOnReactExpirationTime = false;
|
||||
export const enableTrustedTypesIntegration = false;
|
||||
export const disableTextareaChildren = __EXPERIMENTAL__;
|
||||
export const disableMapsAsChildren = __EXPERIMENTAL__;
|
||||
export const disableModulePatternComponents = false;
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
export const deferPassiveEffectCleanupDuringUnmount = true;
|
||||
|
||||
@@ -65,8 +65,6 @@ export const flushSuspenseFallbacksInTests = true;
|
||||
|
||||
export const disableTextareaChildren = __EXPERIMENTAL__;
|
||||
|
||||
export const disableMapsAsChildren = __EXPERIMENTAL__;
|
||||
|
||||
export const disableModulePatternComponents = __EXPERIMENTAL__;
|
||||
|
||||
export const warnUnstableRenderSubtreeIntoContainer = false;
|
||||
|
||||
@@ -345,7 +345,6 @@
|
||||
"344": "Expected prepareToHydrateHostSuspenseInstance() to never be called. This error is likely caused by a bug in React. Please file an issue.",
|
||||
"345": "Root did not complete. This is a bug in React.",
|
||||
"346": "An event responder context was used outside of an event cycle.",
|
||||
"347": "Maps are not valid as a React child (found: %s). Consider converting children to an array of keyed ReactElements instead.",
|
||||
"348": "ensureListeningTo(): received a container that was not an element node. This is likely a bug in React.",
|
||||
"349": "Expected a work-in-progress root. This is a bug in React. Please file an issue.",
|
||||
"350": "Cannot read from mutable source during the current render without tearing. This is a bug in React. Please file an issue.",
|
||||
|
||||
Reference in New Issue
Block a user