File tree 3 files changed +16
-7
lines changed
3 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -17,7 +17,6 @@ import {
17
17
FunctionComponent ,
18
18
IndeterminateComponent ,
19
19
ForwardRef ,
20
- MemoComponent ,
21
20
SimpleMemoComponent ,
22
21
Block ,
23
22
ClassComponent ,
@@ -50,8 +49,6 @@ function describeFiber(fiber: Fiber): string {
50
49
return describeFunctionComponentFrame ( fiber . type , source , owner ) ;
51
50
case ForwardRef :
52
51
return describeFunctionComponentFrame ( fiber . type . render , source , owner ) ;
53
- case MemoComponent :
54
- return describeFunctionComponentFrame ( fiber . type . type , source , owner ) ;
55
52
case Block :
56
53
return describeFunctionComponentFrame ( fiber . type . _render , source , owner ) ;
57
54
case ClassComponent :
Original file line number Diff line number Diff line change @@ -392,12 +392,20 @@ describe('memo', () => {
392
392
Outer . defaultProps = { outer : 0 } ;
393
393
394
394
// No warning expected because defaultProps satisfy both.
395
- ReactNoop . render ( < Outer /> ) ;
395
+ ReactNoop . render (
396
+ < div >
397
+ < Outer />
398
+ </ div > ,
399
+ ) ;
396
400
expect ( Scheduler ) . toFlushWithoutYielding ( ) ;
397
401
398
402
// Mount
399
403
expect ( ( ) => {
400
- ReactNoop . render ( < Outer inner = "2" middle = "3" outer = "4" /> ) ;
404
+ ReactNoop . render (
405
+ < div >
406
+ < Outer inner = "2" middle = "3" outer = "4" />
407
+ </ div > ,
408
+ ) ;
401
409
expect ( Scheduler ) . toFlushWithoutYielding ( ) ;
402
410
} ) . toErrorDev ( [
403
411
'Invalid prop `outer` of type `string` supplied to `Inner`, expected `number`.' ,
@@ -408,7 +416,9 @@ describe('memo', () => {
408
416
// Update
409
417
expect ( ( ) => {
410
418
ReactNoop . render (
411
- < Outer inner = { false } middle = { false } outer = { false } /> ,
419
+ < div >
420
+ < Outer inner = { false } middle = { false } outer = { false } />
421
+ </ div > ,
412
422
) ;
413
423
expect ( Scheduler ) . toFlushWithoutYielding ( ) ;
414
424
} ) . toErrorDev ( [
Original file line number Diff line number Diff line change @@ -121,14 +121,16 @@ export function describeUnknownElementTypeFrameInDEV(
121
121
case REACT_FORWARD_REF_TYPE :
122
122
return describeFunctionComponentFrame ( type . render , source , ownerFn ) ;
123
123
case REACT_MEMO_TYPE :
124
- return describeFunctionComponentFrame ( type . type , source , ownerFn ) ;
124
+ // Memo may contain any component type so we recursively resolve it.
125
+ return describeUnknownElementTypeFrameInDEV ( type . type , source , ownerFn ) ;
125
126
case REACT_BLOCK_TYPE :
126
127
return describeFunctionComponentFrame ( type . _render , source , ownerFn ) ;
127
128
case REACT_LAZY_TYPE : {
128
129
const lazyComponent : LazyComponent < any , any > = ( type : any ) ;
129
130
const payload = lazyComponent . _payload ;
130
131
const init = lazyComponent . _init ;
131
132
try {
133
+ // Lazy may contain any component type so we recursively resolve it.
132
134
return describeUnknownElementTypeFrameInDEV (
133
135
init ( payload ) ,
134
136
source ,
You can’t perform that action at this time.
0 commit comments