Home / File/ ReactFiberHydrationDiffs.js — react Source File

ReactFiberHydrationDiffs.js — react Source File

Architecture documentation for ReactFiberHydrationDiffs.js, a javascript file in the react codebase. 7 imports, 1 dependents.

File javascript BabelCompiler Validation 7 imports 1 dependents 17 functions

Entity Profile

Dependency Diagram

graph LR
  e98a87b8_beb4_9d09_4d2f_78427872f8a3["ReactFiberHydrationDiffs.js"]
  6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f["ReactInternalTypes.js"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> 6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f
  d3557f30_4fca_e30a_91c5_c23d4b8dba99["ReactWorkTags.js"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> d3557f30_4fca_e30a_91c5_c23d4b8dba99
  8344de1b_978c_be0f_eebd_38ccc4962a93["ReactFeatureFlags"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> 8344de1b_978c_be0f_eebd_38ccc4962a93
  e1e1de60_2be4_0643_45fb_e2c306735427["ReactSymbols"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> e1e1de60_2be4_0643_45fb_e2c306735427
  326b1b33_c1be_450b_f53b_51a78bbe8633["assign"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> 326b1b33_c1be_450b_f53b_51a78bbe8633
  3c38cd62_f628_0c7b_096c_856305caeada["getComponentNameFromType"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> 3c38cd62_f628_0c7b_096c_856305caeada
  af78c51d_c7cb_3bf4_550f_f3fcc48f4f34["isArray"]
  e98a87b8_beb4_9d09_4d2f_78427872f8a3 --> af78c51d_c7cb_3bf4_550f_f3fcc48f4f34
  4bc7109f_638d_d9f7_bf47_6ec55b2fa128["ReactFiberHydrationContext.js"]
  4bc7109f_638d_d9f7_bf47_6ec55b2fa128 --> e98a87b8_beb4_9d09_4d2f_78427872f8a3
  style e98a87b8_beb4_9d09_4d2f_78427872f8a3 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

/**
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 *
 * @flow
 */

import type {Fiber} from './ReactInternalTypes';

import {
  HostComponent,
  HostHoistable,
  HostSingleton,
  LazyComponent,
  ActivityComponent,
  SuspenseComponent,
  SuspenseListComponent,
  FunctionComponent,
  ForwardRef,
  SimpleMemoComponent,
  ClassComponent,
  HostText,
} from './ReactWorkTags';

import {enableSrcObject} from 'shared/ReactFeatureFlags';

import {REACT_ELEMENT_TYPE} from 'shared/ReactSymbols';
import assign from 'shared/assign';
import getComponentNameFromType from 'shared/getComponentNameFromType';

import isArray from 'shared/isArray';

export type HydrationDiffNode = {
  fiber: Fiber,
  children: Array<HydrationDiffNode>,
  serverProps: void | null | $ReadOnly<{[propName: string]: mixed}> | string, // null means no matching server node
  serverTail: Array<
    | $ReadOnly<{type: string, props: $ReadOnly<{[propName: string]: mixed}>}>
    | string,
  >,
  distanceFromLeaf: number,
};

const maxRowLength = 120;
const idealDepth = 15;

function findNotableNode(
  node: HydrationDiffNode,
  indent: number,
): HydrationDiffNode {
  if (
    node.serverProps === undefined &&
    node.serverTail.length === 0 &&
    node.children.length === 1 &&
    node.distanceFromLeaf > 3 &&
    node.distanceFromLeaf > idealDepth - indent
  ) {
    // This is not an interesting node for contextual purposes so we can skip it.
// ... (597 more lines)

Domain

Subdomains

Dependencies

Frequently Asked Questions

What does ReactFiberHydrationDiffs.js do?
ReactFiberHydrationDiffs.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain, Validation subdomain.
What functions are defined in ReactFiberHydrationDiffs.js?
ReactFiberHydrationDiffs.js defines 17 function(s): added, describeCollapsedElement, describeDiff, describeElementDiff, describeExpandedElement, describeFiberType, describeNode, describePropValue, describePropertiesDiff, describeSiblingFiber, and 7 more.
What does ReactFiberHydrationDiffs.js depend on?
ReactFiberHydrationDiffs.js imports 7 module(s): ReactFeatureFlags, ReactInternalTypes.js, ReactSymbols, ReactWorkTags.js, assign, getComponentNameFromType, isArray.
What files import ReactFiberHydrationDiffs.js?
ReactFiberHydrationDiffs.js is imported by 1 file(s): ReactFiberHydrationContext.js.
Where is ReactFiberHydrationDiffs.js in the architecture?
ReactFiberHydrationDiffs.js is located at packages/react-reconciler/src/ReactFiberHydrationDiffs.js (domain: BabelCompiler, subdomain: Validation, directory: packages/react-reconciler/src).

Analyze Your Own Codebase

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

Try Supermodel Free