Home / Function/ SuspenseTreeOperations() — react Function Reference

SuspenseTreeOperations() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  c7ffc988_67fa_348a_9bbf_8e228a49a4ce["SuspenseTreeOperations()"]
  a48cc242_4b50_fd09_0e8c_65edf69b7004["index.js"]
  c7ffc988_67fa_348a_9bbf_8e228a49a4ce -->|defined in| a48cc242_4b50_fd09_0e8c_65edf69b7004
  7d51fcbe_16f5_9ae5_5715_b6fb65651a69["useTestSequence()"]
  c7ffc988_67fa_348a_9bbf_8e228a49a4ce -->|calls| 7d51fcbe_16f5_9ae5_5715_b6fb65651a69
  style c7ffc988_67fa_348a_9bbf_8e228a49a4ce fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-devtools-shell/src/app/SuspenseTree/index.js lines 92–213

function SuspenseTreeOperations() {
  const initialChildren: any[] = [
    suspenseTreeOperationsChildren.a,
    suspenseTreeOperationsChildren.b,
    suspenseTreeOperationsChildren.c,
    suspenseTreeOperationsChildren.d,
    suspenseTreeOperationsChildren.e,
  ];
  const [children, dispatch] = useReducer(
    (
      pendingState: any[],
      action: 'toggle-mount' | 'reorder' | 'reorder-within-filtered',
    ): React$Node[] => {
      switch (action) {
        case 'toggle-mount':
          if (pendingState.length === 5) {
            return [
              suspenseTreeOperationsChildren.a,
              suspenseTreeOperationsChildren.b,
              suspenseTreeOperationsChildren.c,
              suspenseTreeOperationsChildren.d,
            ];
          } else {
            return [
              suspenseTreeOperationsChildren.a,
              suspenseTreeOperationsChildren.b,
              suspenseTreeOperationsChildren.c,
              suspenseTreeOperationsChildren.d,
              suspenseTreeOperationsChildren.e,
            ];
          }
        case 'reorder':
          if (pendingState[1] === suspenseTreeOperationsChildren.b) {
            return [
              suspenseTreeOperationsChildren.a,
              suspenseTreeOperationsChildren.c,
              suspenseTreeOperationsChildren.b,
              suspenseTreeOperationsChildren.d,
              suspenseTreeOperationsChildren.e,
            ];
          } else {
            return [
              suspenseTreeOperationsChildren.a,
              suspenseTreeOperationsChildren.b,
              suspenseTreeOperationsChildren.c,
              suspenseTreeOperationsChildren.d,
              suspenseTreeOperationsChildren.e,
            ];
          }
        case 'reorder-within-filtered':
          if (pendingState[4] === suspenseTreeOperationsChildren.e) {
            return [
              suspenseTreeOperationsChildren.a,
              suspenseTreeOperationsChildren.b,
              suspenseTreeOperationsChildren.c,
              suspenseTreeOperationsChildren.d,
              suspenseTreeOperationsChildren.eReordered,
            ];
          } else {
            return [
              suspenseTreeOperationsChildren.a,
              suspenseTreeOperationsChildren.b,
              suspenseTreeOperationsChildren.c,
              suspenseTreeOperationsChildren.d,
              suspenseTreeOperationsChildren.e,
            ];
          }
        default:
          return pendingState;
      }
    },
    initialChildren,
  );

  return (
    <>
      <button onClick={() => dispatch('toggle-mount')}>Toggle Mount</button>
      <button onClick={() => dispatch('reorder')}>Reorder</button>
      <button onClick={() => dispatch('reorder-within-filtered')}>
        Reorder Within Filtered
      </button>

Domain

Subdomains

Frequently Asked Questions

What does SuspenseTreeOperations() do?
SuspenseTreeOperations() is a function in the react codebase, defined in packages/react-devtools-shell/src/app/SuspenseTree/index.js.
Where is SuspenseTreeOperations() defined?
SuspenseTreeOperations() is defined in packages/react-devtools-shell/src/app/SuspenseTree/index.js at line 92.
What does SuspenseTreeOperations() call?
SuspenseTreeOperations() calls 1 function(s): useTestSequence.

Analyze Your Own Codebase

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

Try Supermodel Free