diff --git a/packages/react-devtools-shared/src/backend/renderer.js b/packages/react-devtools-shared/src/backend/renderer.js index 90d7958fbad78..f62255579054e 100644 --- a/packages/react-devtools-shared/src/backend/renderer.js +++ b/packages/react-devtools-shared/src/backend/renderer.js @@ -347,7 +347,7 @@ export function getInternalReactConstants( // NOTICE Keep in sync with shouldFilterFiber() and other get*ForFiber methods function getDisplayNameForFiber(fiber: Fiber): string | null { - const {elementType, type, tag} = fiber; + const {type, tag} = fiber; let resolvedType = type; if (typeof type === 'object' && type !== null) { @@ -364,8 +364,10 @@ export function getInternalReactConstants( case IndeterminateComponent: return getDisplayName(resolvedType); case ForwardRef: + // Mirror https://github.com/facebook/react/blob/7c21bf72ace77094fd1910cc350a548287ef8350/packages/shared/getComponentName.js#L27-L37 return ( - resolvedType.displayName || getDisplayName(resolvedType, 'Anonymous') + (type && type.displayName) || + getDisplayName(resolvedType, 'Anonymous') ); case HostRoot: return null; @@ -377,11 +379,7 @@ export function getInternalReactConstants( return null; case MemoComponent: case SimpleMemoComponent: - if (elementType.displayName) { - return elementType.displayName; - } else { - return getDisplayName(resolvedType, 'Anonymous'); - } + return getDisplayName(resolvedType, 'Anonymous'); case SuspenseComponent: return 'Suspense'; case SuspenseListComponent: