Home / Function/ tryHydrateSuspense() — react Function Reference

tryHydrateSuspense() — react Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  3f5b4d52_5a14_2c53_8495_72953e0d8cd2["tryHydrateSuspense()"]
  4bc7109f_638d_d9f7_bf47_6ec55b2fa128["ReactFiberHydrationContext.js"]
  3f5b4d52_5a14_2c53_8495_72953e0d8cd2 -->|defined in| 4bc7109f_638d_d9f7_bf47_6ec55b2fa128
  063d3886_b682_bfe4_3526_2efd080da924["claimNextHydratableSuspenseInstance()"]
  063d3886_b682_bfe4_3526_2efd080da924 -->|calls| 3f5b4d52_5a14_2c53_8495_72953e0d8cd2
  style 3f5b4d52_5a14_2c53_8495_72953e0d8cd2 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

packages/react-reconciler/src/ReactFiberHydrationContext.js lines 337–368

function tryHydrateSuspense(
  fiber: Fiber,
  nextInstance: any,
): null | SuspenseInstance {
  // fiber is a SuspenseComponent Fiber
  const suspenseInstance = canHydrateSuspenseInstance(
    nextInstance,
    rootOrSingletonContext,
  );
  if (suspenseInstance !== null) {
    const suspenseState: SuspenseState = {
      dehydrated: suspenseInstance,
      treeContext: getSuspendedTreeContext(),
      retryLane: OffscreenLane,
      hydrationErrors: null,
    };
    fiber.memoizedState = suspenseState;
    // Store the dehydrated fragment as a child fiber.
    // This simplifies the code for getHostSibling and deleting nodes,
    // since it doesn't have to consider all Suspense boundaries and
    // check if they're dehydrated ones or not.
    const dehydratedFragment =
      createFiberFromDehydratedFragment(suspenseInstance);
    dehydratedFragment.return = fiber;
    fiber.child = dehydratedFragment;
    hydrationParentFiber = fiber;
    // While a Suspense Instance does have children, we won't step into
    // it during the first pass. Instead, we'll reenter it later.
    nextHydratableInstance = null;
  }
  return suspenseInstance;
}

Domain

Subdomains

Frequently Asked Questions

What does tryHydrateSuspense() do?
tryHydrateSuspense() is a function in the react codebase, defined in packages/react-reconciler/src/ReactFiberHydrationContext.js.
Where is tryHydrateSuspense() defined?
tryHydrateSuspense() is defined in packages/react-reconciler/src/ReactFiberHydrationContext.js at line 337.
What calls tryHydrateSuspense()?
tryHydrateSuspense() is called by 1 function(s): claimNextHydratableSuspenseInstance.

Analyze Your Own Codebase

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

Try Supermodel Free