@@ -46,28 +46,28 @@ let didWarnAboutLegacyLifecyclesAndDerivedState;
46
46
let warnOnInvalidCallback ;
47
47
48
48
if ( __DEV__ ) {
49
- didWarnAboutStateAssignmentForComponent = { } ;
50
- didWarnAboutUndefinedDerivedState = { } ;
51
- didWarnAboutUninitializedState = { } ;
49
+ didWarnAboutStateAssignmentForComponent = new Set ( ) ;
50
+ didWarnAboutUndefinedDerivedState = new Set ( ) ;
51
+ didWarnAboutUninitializedState = new Set ( ) ;
52
52
didWarnAboutGetSnapshotBeforeUpdateWithoutDidUpdate = new Set ( ) ;
53
- didWarnAboutLegacyLifecyclesAndDerivedState = { } ;
53
+ didWarnAboutLegacyLifecyclesAndDerivedState = new Set ( ) ;
54
54
55
- const didWarnOnInvalidCallback = { } ;
55
+ const didWarnOnInvalidCallback = new Set ( ) ;
56
56
57
57
warnOnInvalidCallback = function ( callback : mixed , callerName : string ) {
58
58
if ( callback === null || typeof callback === 'function' ) {
59
59
return ;
60
60
}
61
61
const key = `${ callerName } _${ ( callback : any ) } ` ;
62
- if ( ! didWarnOnInvalidCallback [ key ] ) {
62
+ if ( ! didWarnOnInvalidCallback . has ( key ) ) {
63
+ didWarnOnInvalidCallback . add ( key ) ;
63
64
warning (
64
65
false ,
65
66
'%s(...): Expected the last optional `callback` argument to be a ' +
66
67
'function. Instead received: %s.' ,
67
68
callerName ,
68
69
callback ,
69
70
) ;
70
- didWarnOnInvalidCallback [ key ] = true ;
71
71
}
72
72
} ;
73
73
@@ -458,15 +458,15 @@ export default function(
458
458
state === null
459
459
) {
460
460
const componentName = getComponentName ( workInProgress ) || 'Component' ;
461
- if ( ! didWarnAboutUninitializedState [ componentName ] ) {
461
+ if ( ! didWarnAboutUninitializedState . has ( componentName ) ) {
462
+ didWarnAboutUninitializedState . add ( componentName ) ;
462
463
warning (
463
464
false ,
464
465
'%s: Did not properly initialize state during construction. ' +
465
466
'Expected state to be an object, but it was %s.' ,
466
467
componentName ,
467
468
instance . state === null ? 'null' : 'undefined' ,
468
469
) ;
469
- didWarnAboutUninitializedState [ componentName ] = true ;
470
470
}
471
471
}
472
472
@@ -514,7 +514,8 @@ export default function(
514
514
typeof ctor . getDerivedStateFromProps === 'function'
515
515
? 'getDerivedStateFromProps()'
516
516
: 'getSnapshotBeforeUpdate()' ;
517
- if ( ! didWarnAboutLegacyLifecyclesAndDerivedState [ componentName ] ) {
517
+ if ( ! didWarnAboutLegacyLifecyclesAndDerivedState . has ( componentName ) ) {
518
+ didWarnAboutLegacyLifecyclesAndDerivedState . add ( componentName ) ;
518
519
warning (
519
520
false ,
520
521
'Unsafe legacy lifecycles will not be called for components using new component APIs.\n\n' +
@@ -529,7 +530,6 @@ export default function(
529
530
: '' ,
530
531
foundWillUpdateName !== null ? `\n ${ foundWillUpdateName } ` : '' ,
531
532
) ;
532
- didWarnAboutLegacyLifecyclesAndDerivedState [ componentName ] = true ;
533
533
}
534
534
}
535
535
}
@@ -610,15 +610,15 @@ export default function(
610
610
if ( instance . state !== oldState ) {
611
611
if ( __DEV__ ) {
612
612
const componentName = getComponentName ( workInProgress ) || 'Component' ;
613
- if ( ! didWarnAboutStateAssignmentForComponent [ componentName ] ) {
613
+ if ( ! didWarnAboutStateAssignmentForComponent . has ( componentName ) ) {
614
+ didWarnAboutStateAssignmentForComponent . add ( componentName ) ;
614
615
warning (
615
616
false ,
616
617
'%s.componentWillReceiveProps(): Assigning directly to ' +
617
618
"this.state is deprecated (except inside a component's " +
618
619
'constructor). Use setState instead.' ,
619
620
componentName ,
620
621
) ;
621
- didWarnAboutStateAssignmentForComponent [ componentName ] = true ;
622
622
}
623
623
}
624
624
updater . enqueueReplaceState ( instance , instance . state , null ) ;
@@ -652,14 +652,14 @@ export default function(
652
652
if ( __DEV__ ) {
653
653
if ( partialState === undefined ) {
654
654
const componentName = getComponentName ( workInProgress ) || 'Component' ;
655
- if ( ! didWarnAboutUndefinedDerivedState [ componentName ] ) {
655
+ if ( ! didWarnAboutUndefinedDerivedState . has ( componentName ) ) {
656
+ didWarnAboutUndefinedDerivedState . add ( componentName ) ;
656
657
warning (
657
658
false ,
658
659
'%s.getDerivedStateFromProps(): A valid state object (or null) must be returned. ' +
659
660
'You have returned undefined.' ,
660
661
componentName ,
661
662
) ;
662
- didWarnAboutUndefinedDerivedState [ componentName ] = componentName ;
663
663
}
664
664
}
665
665
}
0 commit comments