Home / Function/ recursivelyTraverseReconnectPassiveEffects() — react Function Reference

recursivelyTraverseReconnectPassiveEffects() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  ea4de162_c0d1_f2e2_cc55_bbca4c7974d7["recursivelyTraverseReconnectPassiveEffects()"]
  e0fbfbd5_47b0_a489_0b36_bbfad9245544["ReactFiberCommitWork.js"]
  ea4de162_c0d1_f2e2_cc55_bbca4c7974d7 -->|defined in| e0fbfbd5_47b0_a489_0b36_bbfad9245544
  07f3c6d9_2fce_51ae_4408_e0d4ab7359a1["commitPassiveMountOnFiber()"]
  07f3c6d9_2fce_51ae_4408_e0d4ab7359a1 -->|calls| ea4de162_c0d1_f2e2_cc55_bbca4c7974d7
  c3c0c008_f543_54ba_5f17_334454e50793["reconnectPassiveEffects()"]
  c3c0c008_f543_54ba_5f17_334454e50793 -->|calls| ea4de162_c0d1_f2e2_cc55_bbca4c7974d7
  c3c0c008_f543_54ba_5f17_334454e50793["reconnectPassiveEffects()"]
  ea4de162_c0d1_f2e2_cc55_bbca4c7974d7 -->|calls| c3c0c008_f543_54ba_5f17_334454e50793
  style ea4de162_c0d1_f2e2_cc55_bbca4c7974d7 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-reconciler/src/ReactFiberCommitWork.js lines 4184–4232

function recursivelyTraverseReconnectPassiveEffects(
  finishedRoot: FiberRoot,
  parentFiber: Fiber,
  committedLanes: Lanes,
  committedTransitions: Array<Transition> | null,
  includeWorkInProgressEffects: boolean,
  endTime: number,
) {
  // This function visits both newly finished work and nodes that were re-used
  // from a previously committed tree. We cannot check non-static flags if the
  // node was reused.
  const childShouldIncludeWorkInProgressEffects =
    includeWorkInProgressEffects &&
    ((parentFiber.subtreeFlags & PassiveMask) !== NoFlags ||
      (enableProfilerTimer &&
        enableComponentPerformanceTrack &&
        parentFiber.actualDuration !== 0 &&
        (parentFiber.alternate === null ||
          parentFiber.alternate.child !== parentFiber.child)));

  // TODO (Offscreen) Check: flags & (RefStatic | LayoutStatic)
  let child = parentFiber.child;
  while (child !== null) {
    if (enableProfilerTimer && enableComponentPerformanceTrack) {
      const nextSibling = child.sibling;
      reconnectPassiveEffects(
        finishedRoot,
        child,
        committedLanes,
        committedTransitions,
        childShouldIncludeWorkInProgressEffects,
        nextSibling !== null
          ? ((nextSibling.actualStartTime: any): number)
          : endTime,
      );
      child = nextSibling;
    } else {
      reconnectPassiveEffects(
        finishedRoot,
        child,
        committedLanes,
        committedTransitions,
        childShouldIncludeWorkInProgressEffects,
        endTime,
      );
      child = child.sibling;
    }
  }
}

Domain

Subdomains

Frequently Asked Questions

What does recursivelyTraverseReconnectPassiveEffects() do?
recursivelyTraverseReconnectPassiveEffects() is a function in the react codebase, defined in packages/react-reconciler/src/ReactFiberCommitWork.js.
Where is recursivelyTraverseReconnectPassiveEffects() defined?
recursivelyTraverseReconnectPassiveEffects() is defined in packages/react-reconciler/src/ReactFiberCommitWork.js at line 4184.
What does recursivelyTraverseReconnectPassiveEffects() call?
recursivelyTraverseReconnectPassiveEffects() calls 1 function(s): reconnectPassiveEffects.
What calls recursivelyTraverseReconnectPassiveEffects()?
recursivelyTraverseReconnectPassiveEffects() is called by 2 function(s): commitPassiveMountOnFiber, reconnectPassiveEffects.

Analyze Your Own Codebase

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

Try Supermodel Free