Home / Function/ recursivelyApplyViewTransitions() — react Function Reference

recursivelyApplyViewTransitions() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  5309a33c_225d_2870_d95a_89bdc6c62aa1["recursivelyApplyViewTransitions()"]
  ee850b36_fc0b_9bb2_5b69_58d705aef9a5["ReactFiberApplyGesture.js"]
  5309a33c_225d_2870_d95a_89bdc6c62aa1 -->|defined in| ee850b36_fc0b_9bb2_5b69_58d705aef9a5
  4d34856e_a065_6664_49e6_5e2f80a19d3a["applyViewTransitionsOnFiber()"]
  4d34856e_a065_6664_49e6_5e2f80a19d3a -->|calls| 5309a33c_225d_2870_d95a_89bdc6c62aa1
  95eaf773_60ec_f268_4df8_d89eba60ce45["applyDepartureTransitions()"]
  95eaf773_60ec_f268_4df8_d89eba60ce45 -->|calls| 5309a33c_225d_2870_d95a_89bdc6c62aa1
  1442d9c1_fc9a_5911_6565_b090c9a693bb["measureExitViewTransitions()"]
  5309a33c_225d_2870_d95a_89bdc6c62aa1 -->|calls| 1442d9c1_fc9a_5911_6565_b090c9a693bb
  6a791585_7057_bf37_7f59_c785a4d2ca32["recursivelyRestoreNew()"]
  5309a33c_225d_2870_d95a_89bdc6c62aa1 -->|calls| 6a791585_7057_bf37_7f59_c785a4d2ca32
  4d34856e_a065_6664_49e6_5e2f80a19d3a["applyViewTransitionsOnFiber()"]
  5309a33c_225d_2870_d95a_89bdc6c62aa1 -->|calls| 4d34856e_a065_6664_49e6_5e2f80a19d3a
  style 5309a33c_225d_2870_d95a_89bdc6c62aa1 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-reconciler/src/ReactFiberApplyGesture.js lines 1099–1130

function recursivelyApplyViewTransitions(parentFiber: Fiber) {
  const deletions = parentFiber.deletions;
  if (deletions !== null) {
    for (let i = 0; i < deletions.length; i++) {
      const childToDelete = deletions[i];
      commitEnterViewTransitions(childToDelete, true);
    }
  }

  if (
    parentFiber.alternate === null ||
    (parentFiber.subtreeFlags & MutationMask) !== NoFlags
  ) {
    // If we have mutations or if this is a newly inserted tree, clone as we go.
    let child = parentFiber.child;
    while (child !== null) {
      const current = child.alternate;
      if (current === null) {
        measureExitViewTransitions(child);
        recursivelyRestoreNew(child, parentFiber);
      } else {
        applyViewTransitionsOnFiber(child, current);
      }
      child = child.sibling;
    }
  } else {
    // Nothing has changed in this subtree, but the parent may have still affected
    // its size and position. We need to measure the old and new state to see if
    // we should animate its size and position.
    measureNestedViewTransitions(parentFiber, true);
  }
}

Domain

Subdomains

Frequently Asked Questions

What does recursivelyApplyViewTransitions() do?
recursivelyApplyViewTransitions() is a function in the react codebase, defined in packages/react-reconciler/src/ReactFiberApplyGesture.js.
Where is recursivelyApplyViewTransitions() defined?
recursivelyApplyViewTransitions() is defined in packages/react-reconciler/src/ReactFiberApplyGesture.js at line 1099.
What does recursivelyApplyViewTransitions() call?
recursivelyApplyViewTransitions() calls 3 function(s): applyViewTransitionsOnFiber, measureExitViewTransitions, recursivelyRestoreNew.
What calls recursivelyApplyViewTransitions()?
recursivelyApplyViewTransitions() is called by 2 function(s): applyDepartureTransitions, applyViewTransitionsOnFiber.

Analyze Your Own Codebase

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

Try Supermodel Free