Home / Function/ useCommitFilteringAndNavigation() — react Function Reference

useCommitFilteringAndNavigation() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  e24e0e52_ceca_3aad_8962_b582af497d29["useCommitFilteringAndNavigation()"]
  1d558132_0276_7e48_1a18_611bb9fef088["useCommitFilteringAndNavigation.js"]
  e24e0e52_ceca_3aad_8962_b582af497d29 -->|defined in| 1d558132_0276_7e48_1a18_611bb9fef088
  style e24e0e52_ceca_3aad_8962_b582af497d29 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-devtools-shared/src/devtools/views/Profiler/useCommitFilteringAndNavigation.js lines 34–77

export function useCommitFilteringAndNavigation(
  commitData: Array<CommitDataFrontend>,
): CommitFilteringAndNavigation {
  // Filter settings persisted to localStorage
  const [isCommitFilterEnabled, setIsCommitFilterEnabledValue] =
    useLocalStorage<boolean>('React::DevTools::isCommitFilterEnabled', false);
  const [minCommitDuration, setMinCommitDurationValue] =
    useLocalStorage<number>('minCommitDuration', 0);

  // Currently selected commit index (in the unfiltered list)
  const [selectedCommitIndex, selectCommitIndex] = useState<number | null>(
    null,
  );

  // Reset commit index when commitData changes (e.g., when switching roots).
  const [previousCommitData, setPreviousCommitData] =
    useState<Array<CommitDataFrontend>>(commitData);
  if (previousCommitData !== commitData) {
    setPreviousCommitData(commitData);
    selectCommitIndex(commitData.length > 0 ? 0 : null);
  }

  const calculateFilteredIndices = useCallback(
    (enabled: boolean, minDuration: number): Array<number> => {
      return commitData.reduce((reduced: Array<number>, commitDatum, index) => {
        if (!enabled || commitDatum.duration >= minDuration) {
          reduced.push(index);
        }
        return reduced;
      }, ([]: Array<number>));
    },
    [commitData],
  );

  const findFilteredIndex = useCallback(
    (commitIndex: number | null, filtered: Array<number>): number | null => {
      if (commitIndex === null) return null;
      for (let i = 0; i < filtered.length; i++) {
        if (filtered[i] === commitIndex) {
          return i;
        }
      }
      return null;
    },

Domain

Subdomains

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free