@@ -106,10 +106,10 @@ function getInternalReactConstants(version) {
106106 CONTEXT_PROVIDER_SYMBOL_STRING : 'Symbol(react.provider)' ,
107107 FORWARD_REF_NUMBER : 0xead0 ,
108108 FORWARD_REF_SYMBOL_STRING : 'Symbol(react.forward_ref)' ,
109+ MEMO_NUMBER : 0xead3 ,
110+ MEMO_SYMBOL_STRING : 'Symbol(react.memo)' ,
109111 PROFILER_NUMBER : 0xead2 ,
110112 PROFILER_SYMBOL_STRING : 'Symbol(react.profiler)' ,
111- PURE_NUMBER : 0xead3 ,
112- PURE_SYMBOL_STRING : 'Symbol(react.pure)' ,
113113 STRICT_MODE_NUMBER : 0xeacc ,
114114 STRICT_MODE_SYMBOL_STRING : 'Symbol(react.strict_mode)' ,
115115 SUSPENSE_NUMBER : 0xead1 ,
@@ -143,6 +143,8 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
143143 HostText,
144144 Fragment,
145145 ForwardRef,
146+ MemoComponent,
147+ SimpleMemoComponent,
146148 } = ReactTypeOfWork ;
147149 var {
148150 CONCURRENT_MODE_NUMBER ,
@@ -154,8 +156,6 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
154156 CONTEXT_PROVIDER_SYMBOL_STRING ,
155157 PROFILER_NUMBER ,
156158 PROFILER_SYMBOL_STRING ,
157- PURE_NUMBER ,
158- PURE_SYMBOL_STRING ,
159159 STRICT_MODE_NUMBER ,
160160 STRICT_MODE_SYMBOL_STRING ,
161161 SUSPENSE_NUMBER ,
@@ -166,6 +166,7 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
166166 // TODO: we might want to change the data structure
167167 // once we no longer suppport Stack versions of `getData`.
168168 function getDataFiber ( fiber : Object ) : DataType {
169+ var elementType = fiber . elementType ;
169170 var type = fiber . type ;
170171 var key = fiber . key ;
171172 var ref = fiber . ref ;
@@ -279,6 +280,17 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
279280 nodeType = 'Wrapper' ;
280281 children = [ ] ;
281282 break ;
283+ case MemoComponent :
284+ case SimpleMemoComponent :
285+ nodeType = 'Special' ;
286+ if ( elementType . displayName ) {
287+ name = elementType . displayName ;
288+ } else {
289+ const displayName = type . displayName || type . name ;
290+ name = displayName ? `Memo(${ displayName } )` : 'Memo' ;
291+ }
292+ children = [ ] ;
293+ break ;
282294 default :
283295 const symbolOrNumber = typeof type === 'object' && type !== null
284296 ? type . $$typeof
@@ -289,17 +301,6 @@ function attachRendererFiber(hook: Hook, rid: string, renderer: ReactRenderer):
289301 : symbolOrNumber ;
290302
291303 switch ( switchValue ) {
292- case PURE_NUMBER :
293- case PURE_SYMBOL_STRING :
294- nodeType = 'Special' ;
295- if ( type . displayName ) {
296- name = type . displayName ;
297- } else {
298- const displayName = type . render . displayName || type . render . name ;
299- name = displayName ? `Pure(${ displayName } )` : 'Pure' ;
300- }
301- children = [ ] ;
302- break ;
303304 case CONCURRENT_MODE_NUMBER :
304305 case CONCURRENT_MODE_SYMBOL_STRING :
305306 case DEPRECATED_ASYNC_MODE_SYMBOL_STRING :
0 commit comments