ReactFiberConcurrentUpdates.js — react Source File
Architecture documentation for ReactFiberConcurrentUpdates.js, a javascript file in the react codebase. 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
Dependencies
Imported By
- packages/react-reconciler/src/ReactFiberBeginWork.js
- packages/react-reconciler/src/ReactFiberClassUpdateQueue.js
- packages/react-reconciler/src/ReactFiberHooks.js
- packages/react-reconciler/src/ReactFiberHotReloading.js
- packages/react-reconciler/src/ReactFiberLane.js
- packages/react-reconciler/src/ReactFiberReconciler.js
- packages/react-reconciler/src/ReactFiberWorkLoop.js
- packages/react-reconciler/src/ReactInternalTypes.js
Source
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