Home / File/ ReactFiberConcurrentUpdates.js — react Source File

ReactFiberConcurrentUpdates.js — react Source File

Architecture documentation for ReactFiberConcurrentUpdates.js, a javascript file in the react codebase. 8 imports, 8 dependents.

File javascript BabelCompiler 8 imports 8 dependents

Entity Profile

Dependency Diagram

graph LR
  8dfed368_a2ce_03e8_73a7_410857344637["ReactFiberConcurrentUpdates.js"]
  6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f["ReactInternalTypes.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> 6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f
  85d2c68c_7609_2c66_22fb_5f02e8a2e8fe["ReactFiberHooks.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> 85d2c68c_7609_2c66_22fb_5f02e8a2e8fe
  39c2d339_1422_a702_78f7_1997d8d72c29["ReactFiberClassUpdateQueue.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> 39c2d339_1422_a702_78f7_1997d8d72c29
  768f6d67_77c1_be19_5596_a943eab59e05["ReactFiberLane.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> 768f6d67_77c1_be19_5596_a943eab59e05
  79172409_a09a_afa9_9185_df1c9182af84["ReactFiberOffscreenComponent.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> 79172409_a09a_afa9_9185_df1c9182af84
  d73e9290_2d2e_5d3f_97dd_84929f205c77["ReactFiberWorkLoop.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> d73e9290_2d2e_5d3f_97dd_84929f205c77
  6773f9a2_fdb7_4938_741f_4887273ad469["ReactFiberFlags.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> 6773f9a2_fdb7_4938_741f_4887273ad469
  d3557f30_4fca_e30a_91c5_c23d4b8dba99["ReactWorkTags.js"]
  8dfed368_a2ce_03e8_73a7_410857344637 --> d3557f30_4fca_e30a_91c5_c23d4b8dba99
  0be70812_cc0c_b210_f84f_8e61dd5f831c["ReactFiberBeginWork.js"]
  0be70812_cc0c_b210_f84f_8e61dd5f831c --> 8dfed368_a2ce_03e8_73a7_410857344637
  39c2d339_1422_a702_78f7_1997d8d72c29["ReactFiberClassUpdateQueue.js"]
  39c2d339_1422_a702_78f7_1997d8d72c29 --> 8dfed368_a2ce_03e8_73a7_410857344637
  85d2c68c_7609_2c66_22fb_5f02e8a2e8fe["ReactFiberHooks.js"]
  85d2c68c_7609_2c66_22fb_5f02e8a2e8fe --> 8dfed368_a2ce_03e8_73a7_410857344637
  da68ece0_17b1_3c98_d393_5c830eacd9b2["ReactFiberHotReloading.js"]
  da68ece0_17b1_3c98_d393_5c830eacd9b2 --> 8dfed368_a2ce_03e8_73a7_410857344637
  768f6d67_77c1_be19_5596_a943eab59e05["ReactFiberLane.js"]
  768f6d67_77c1_be19_5596_a943eab59e05 --> 8dfed368_a2ce_03e8_73a7_410857344637
  3ff8c5da_88d9_c61b_6bdc_da766a43fd30["ReactFiberReconciler.js"]
  3ff8c5da_88d9_c61b_6bdc_da766a43fd30 --> 8dfed368_a2ce_03e8_73a7_410857344637
  d73e9290_2d2e_5d3f_97dd_84929f205c77["ReactFiberWorkLoop.js"]
  d73e9290_2d2e_5d3f_97dd_84929f205c77 --> 8dfed368_a2ce_03e8_73a7_410857344637
  6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f["ReactInternalTypes.js"]
  6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f --> 8dfed368_a2ce_03e8_73a7_410857344637
  style 8dfed368_a2ce_03e8_73a7_410857344637 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, FiberRoot} from './ReactInternalTypes';
import type {
  UpdateQueue as HookQueue,
  Update as HookUpdate,
} from './ReactFiberHooks';
import type {
  SharedQueue as ClassQueue,
  Update as ClassUpdate,
} from './ReactFiberClassUpdateQueue';
import type {Lane, Lanes} from './ReactFiberLane';
import type {OffscreenInstance} from './ReactFiberOffscreenComponent';

import {
  warnAboutUpdateOnNotYetMountedFiberInDEV,
  throwIfInfiniteUpdateLoopDetected,
  getWorkInProgressRoot,
} from './ReactFiberWorkLoop';
import {NoLane, NoLanes, mergeLanes, markHiddenUpdate} from './ReactFiberLane';
import {NoFlags, Placement, Hydrating} from './ReactFiberFlags';
import {HostRoot, OffscreenComponent} from './ReactWorkTags';
import {OffscreenVisible} from './ReactFiberOffscreenComponent';

export type ConcurrentUpdate = {
  next: ConcurrentUpdate,
  lane: Lane,
};

type ConcurrentQueue = {
  pending: ConcurrentUpdate | null,
};

// If a render is in progress, and we receive an update from a concurrent event,
// we wait until the current render is over (either finished or interrupted)
// before adding it to the fiber/hook queue. Push to this array so we can
// access the queue, fiber, update, et al later.
const concurrentQueues: Array<any> = [];
let concurrentQueuesIndex = 0;

let concurrentlyUpdatedLanes: Lanes = NoLanes;

export function finishQueueingConcurrentUpdates(): void {
  const endIndex = concurrentQueuesIndex;
  concurrentQueuesIndex = 0;

  concurrentlyUpdatedLanes = NoLanes;

  let i = 0;
  while (i < endIndex) {
    const fiber: Fiber = concurrentQueues[i];
    concurrentQueues[i++] = null;
    const queue: ConcurrentQueue = concurrentQueues[i];
// ... (228 more lines)

Domain

Frequently Asked Questions

What does ReactFiberConcurrentUpdates.js do?
ReactFiberConcurrentUpdates.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does ReactFiberConcurrentUpdates.js depend on?
ReactFiberConcurrentUpdates.js imports 8 module(s): ReactFiberClassUpdateQueue.js, ReactFiberFlags.js, ReactFiberHooks.js, ReactFiberLane.js, ReactFiberOffscreenComponent.js, ReactFiberWorkLoop.js, ReactInternalTypes.js, ReactWorkTags.js.
What files import ReactFiberConcurrentUpdates.js?
ReactFiberConcurrentUpdates.js is imported by 8 file(s): ReactFiberBeginWork.js, ReactFiberClassUpdateQueue.js, ReactFiberHooks.js, ReactFiberHotReloading.js, ReactFiberLane.js, ReactFiberReconciler.js, ReactFiberWorkLoop.js, ReactInternalTypes.js.
Where is ReactFiberConcurrentUpdates.js in the architecture?
ReactFiberConcurrentUpdates.js is located at packages/react-reconciler/src/ReactFiberConcurrentUpdates.js (domain: BabelCompiler, 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