MCPcopy Create free account
hub / github.com/react/react / describeFiber

Function describeFiber

packages/react-reconciler/src/ReactFiberComponentStack.js:37–71  ·  view source on GitHub ↗
(fiber: Fiber, childFiber: null | Fiber)

Source from the content-addressed store, hash-verified

35import {formatOwnerStack} from 'shared/ReactOwnerStackFrames';
36
37function describeFiber(fiber: Fiber, childFiber: null | Fiber): string {
38 switch (fiber.tag) {
39 case HostHoistable:
40 case HostSingleton:
41 case HostComponent:
42 return describeBuiltInComponentFrame(fiber.type);
43 case LazyComponent:
44 // TODO: When we support Thenables as component types we should rename this.
45 return describeBuiltInComponentFrame('Lazy');
46 case SuspenseComponent:
47 if (fiber.child !== childFiber && childFiber !== null) {
48 // If we came from the second Fiber then we're in the Suspense Fallback.
49 return describeBuiltInComponentFrame('Suspense Fallback');
50 }
51 return describeBuiltInComponentFrame('Suspense');
52 case SuspenseListComponent:
53 return describeBuiltInComponentFrame('SuspenseList');
54 case FunctionComponent:
55 case SimpleMemoComponent:
56 return describeFunctionComponentFrame(fiber.type);
57 case ForwardRef:
58 return describeFunctionComponentFrame(fiber.type.render);
59 case ClassComponent:
60 return describeClassComponentFrame(fiber.type);
61 case ActivityComponent:
62 return describeBuiltInComponentFrame('Activity');
63 case ViewTransitionComponent:
64 if (enableViewTransition) {
65 return describeBuiltInComponentFrame('ViewTransition');
66 }
67 // Fallthrough
68 default:
69 return '';
70 }
71}
72
73export function getStackByFiberInDevAndProd(workInProgress: Fiber): string {
74 try {

Callers 1

Tested by

no test coverage detected