File tree Expand file tree Collapse file tree 3 files changed +16
-7
lines changed
Expand file tree Collapse file tree 3 files changed +16
-7
lines changed Original file line number Diff line number Diff line change @@ -17,7 +17,6 @@ import {
1717 FunctionComponent ,
1818 IndeterminateComponent ,
1919 ForwardRef ,
20- MemoComponent ,
2120 SimpleMemoComponent ,
2221 Block ,
2322 ClassComponent ,
@@ -50,8 +49,6 @@ function describeFiber(fiber: Fiber): string {
5049 return describeFunctionComponentFrame ( fiber . type , source , owner ) ;
5150 case ForwardRef :
5251 return describeFunctionComponentFrame ( fiber . type . render , source , owner ) ;
53- case MemoComponent :
54- return describeFunctionComponentFrame ( fiber . type . type , source , owner ) ;
5552 case Block :
5653 return describeFunctionComponentFrame ( fiber . type . _render , source , owner ) ;
5754 case ClassComponent :
Original file line number Diff line number Diff line change @@ -392,12 +392,20 @@ describe('memo', () => {
392392 Outer . defaultProps = { outer : 0 } ;
393393
394394 // No warning expected because defaultProps satisfy both.
395- ReactNoop . render ( < Outer /> ) ;
395+ ReactNoop . render (
396+ < div >
397+ < Outer />
398+ </ div > ,
399+ ) ;
396400 expect ( Scheduler ) . toFlushWithoutYielding ( ) ;
397401
398402 // Mount
399403 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+ ) ;
401409 expect ( Scheduler ) . toFlushWithoutYielding ( ) ;
402410 } ) . toErrorDev ( [
403411 'Invalid prop `outer` of type `string` supplied to `Inner`, expected `number`.' ,
@@ -408,7 +416,9 @@ describe('memo', () => {
408416 // Update
409417 expect ( ( ) => {
410418 ReactNoop . render (
411- < Outer inner = { false } middle = { false } outer = { false } /> ,
419+ < div >
420+ < Outer inner = { false } middle = { false } outer = { false } />
421+ </ div > ,
412422 ) ;
413423 expect ( Scheduler ) . toFlushWithoutYielding ( ) ;
414424 } ) . toErrorDev ( [
Original file line number Diff line number Diff line change @@ -121,14 +121,16 @@ export function describeUnknownElementTypeFrameInDEV(
121121 case REACT_FORWARD_REF_TYPE :
122122 return describeFunctionComponentFrame ( type . render , source , ownerFn ) ;
123123 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 ) ;
125126 case REACT_BLOCK_TYPE :
126127 return describeFunctionComponentFrame ( type . _render , source , ownerFn ) ;
127128 case REACT_LAZY_TYPE : {
128129 const lazyComponent : LazyComponent < any , any > = ( type : any ) ;
129130 const payload = lazyComponent . _payload ;
130131 const init = lazyComponent . _init ;
131132 try {
133+ // Lazy may contain any component type so we recursively resolve it.
132134 return describeUnknownElementTypeFrameInDEV (
133135 init ( payload ) ,
134136 source ,
You can’t perform that action at this time.
0 commit comments