You may have heard of React Scan for automatically detecting performance issues. It uses Bippy internally. From the README:
a react fiber is a “unit of execution.” this means react will do something based on the data in a fiber. each fiber either represents a composite (function/class component) or a host (dom element).
fibers are useful because they contain information about the react app (component props, state, contexts, etc.). a simplified version of a fiber looks roughly like this:
interface Fiber { // component type (function/class) type: any; child: Fiber | null; sibling: Fiber | null; // stateNode is the host fiber (e.g. DOM element) stateNode: Node | null; // parent fiber return: Fiber | null; // the previous or current version of the fiber alternate: Fiber | null; // saved props input memoizedProps: any; // state (useState, useReducer, useSES, etc.) memoizedState: any; // contexts (useContext) dependencies: Dependencies | null; // effects (useEffect, useLayoutEffect, etc.) updateQueue: any; }
Further reading and watching: