Home / Function/ SuspenseBreadcrumbs() — react Function Reference

SuspenseBreadcrumbs() — react Function Reference

Architecture documentation for the SuspenseBreadcrumbs() function in SuspenseBreadcrumbs.js from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  f8b1fe94_dac9_3aaf_1437_e00298d4bc69["SuspenseBreadcrumbs()"]
  0adf488f_cc01_d00c_692a_56c1f4de537f["SuspenseBreadcrumbs.js"]
  f8b1fe94_dac9_3aaf_1437_e00298d4bc69 -->|defined in| 0adf488f_cc01_d00c_692a_56c1f4de537f
  style f8b1fe94_dac9_3aaf_1437_e00298d4bc69 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseBreadcrumbs.js lines 279–318

export default function SuspenseBreadcrumbs(): React$Node {
  const treeDispatch = useContext(TreeDispatcherContext);
  const suspenseTreeDispatch = useContext(SuspenseTreeDispatcherContext);

  const {highlightHostInstance, clearHighlightHostInstance} =
    useHighlightHostInstance();

  function handleClick(id: SuspenseNode['id'], event?: SyntheticMouseEvent) {
    if (event !== undefined) {
      // E.g. 3rd party component libraries might omit the event and already prevent default
      // like Reach's MenuItem does.
      event.preventDefault();
    }
    treeDispatch({type: 'SELECT_ELEMENT_BY_ID', payload: id});
    suspenseTreeDispatch({type: 'SELECT_SUSPENSE_BY_ID', payload: id});
  }

  const [elementsTotalWidth, setElementsTotalWidth] = useState(0);
  const containerRef = useRef<HTMLDivElement | null>(null);
  const isOverflowing = useIsOverflowing(containerRef, elementsTotalWidth);

  return (
    <div className={styles.SuspenseBreadcrumbsContainer} ref={containerRef}>
      {isOverflowing ? (
        <SuspenseBreadcrumbsMenu
          onItemClick={handleClick}
          onItemPointerEnter={highlightHostInstance}
          onItemPointerLeave={clearHighlightHostInstance}
        />
      ) : (
        <SuspenseBreadcrumbsFlatList
          onItemClick={handleClick}
          onItemPointerEnter={highlightHostInstance}
          onItemPointerLeave={clearHighlightHostInstance}
          setElementsTotalWidth={setElementsTotalWidth}
        />
      )}
    </div>
  );
}

Domain

Subdomains

Frequently Asked Questions

What does SuspenseBreadcrumbs() do?
SuspenseBreadcrumbs() is a function in the react codebase, defined in packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseBreadcrumbs.js.
Where is SuspenseBreadcrumbs() defined?
SuspenseBreadcrumbs() is defined in packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseBreadcrumbs.js at line 279.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free