Home / File/ ReactFiberCallUserSpace.js — react Source File

ReactFiberCallUserSpace.js — react Source File

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

File javascript BabelCompiler 7 imports 5 dependents

Entity Profile

Dependency Diagram

graph LR
  270d2932_6cca_c1c4_3f30_496c0c886bb5["ReactFiberCallUserSpace.js"]
  6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f["ReactInternalTypes.js"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> 6b9f5caa_fb13_3d3c_2f60_ad3c4f58371f
  85d2c68c_7609_2c66_22fb_5f02e8a2e8fe["ReactFiberHooks.js"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> 85d2c68c_7609_2c66_22fb_5f02e8a2e8fe
  3c1744da_8f82_b464_9a56_73fd7302132b["ReactCapturedValue.js"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> 3c1744da_8f82_b464_9a56_73fd7302132b
  c115f947_44f7_8d77_0323_1e260644c151["ReactCurrentFiber.js"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> c115f947_44f7_8d77_0323_1e260644c151
  14a237b8_8b4f_d2c0_c5cb_9db3f2b5a942["setIsRendering"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> 14a237b8_8b4f_d2c0_c5cb_9db3f2b5a942
  d73e9290_2d2e_5d3f_97dd_84929f205c77["ReactFiberWorkLoop.js"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> d73e9290_2d2e_5d3f_97dd_84929f205c77
  ebbd7451_c238_0c5d_d01e_21d7c2d60653["ReactLazy"]
  270d2932_6cca_c1c4_3f30_496c0c886bb5 --> ebbd7451_c238_0c5d_d01e_21d7c2d60653
  0be70812_cc0c_b210_f84f_8e61dd5f831c["ReactFiberBeginWork.js"]
  0be70812_cc0c_b210_f84f_8e61dd5f831c --> 270d2932_6cca_c1c4_3f30_496c0c886bb5
  8f5342bb_933e_6410_b584_cc120047394a["ReactFiberCommitEffects.js"]
  8f5342bb_933e_6410_b584_cc120047394a --> 270d2932_6cca_c1c4_3f30_496c0c886bb5
  85d2c68c_7609_2c66_22fb_5f02e8a2e8fe["ReactFiberHooks.js"]
  85d2c68c_7609_2c66_22fb_5f02e8a2e8fe --> 270d2932_6cca_c1c4_3f30_496c0c886bb5
  84b71fa6_312c_e7e3_dedb_27d6c638bf05["ReactFiberThenable.js"]
  84b71fa6_312c_e7e3_dedb_27d6c638bf05 --> 270d2932_6cca_c1c4_3f30_496c0c886bb5
  2945bdb1_d075_d792_a028_13eee518c9d4["ReactFiberThrow.js"]
  2945bdb1_d075_d792_a028_13eee518c9d4 --> 270d2932_6cca_c1c4_3f30_496c0c886bb5
  style 270d2932_6cca_c1c4_3f30_496c0c886bb5 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 type {LazyComponent} from 'react/src/ReactLazy';
import type {Effect} from './ReactFiberHooks';
import type {CapturedValue} from './ReactCapturedValue';

import {isRendering, setIsRendering} from './ReactCurrentFiber';
import {captureCommitPhaseError} from './ReactFiberWorkLoop';

// These indirections exists so we can exclude its stack frame in DEV (and anything below it).
// TODO: Consider marking the whole bundle instead of these boundaries.

const callComponent = {
  react_stack_bottom_frame: function <Props, Arg, R>(
    Component: (p: Props, arg: Arg) => R,
    props: Props,
    secondArg: Arg,
  ): R {
    const wasRendering = isRendering;
    setIsRendering(true);
    try {
      const result = Component(props, secondArg);
      return result;
    } finally {
      setIsRendering(wasRendering);
    }
  },
};

export const callComponentInDEV: <Props, Arg, R>(
  Component: (p: Props, arg: Arg) => R,
  props: Props,
  secondArg: Arg,
) => R = __DEV__
  ? // We use this technique to trick minifiers to preserve the function name.
    (callComponent.react_stack_bottom_frame.bind(callComponent): any)
  : (null: any);

interface ClassInstance<R> {
  render(): R;
  componentDidMount(): void;
  componentDidUpdate(
    prevProps: Object,
    prevState: Object,
    snaphot: Object,
  ): void;
  componentDidCatch(error: mixed, errorInfo: {componentStack: string}): void;
  componentWillUnmount(): void;
}

const callRender = {
  react_stack_bottom_frame: function <R>(instance: ClassInstance<R>): R {
// ... (170 more lines)

Domain

Frequently Asked Questions

What does ReactFiberCallUserSpace.js do?
ReactFiberCallUserSpace.js is a source file in the react codebase, written in javascript. It belongs to the BabelCompiler domain.
What does ReactFiberCallUserSpace.js depend on?
ReactFiberCallUserSpace.js imports 7 module(s): ReactCapturedValue.js, ReactCurrentFiber.js, ReactFiberHooks.js, ReactFiberWorkLoop.js, ReactInternalTypes.js, ReactLazy, setIsRendering.
What files import ReactFiberCallUserSpace.js?
ReactFiberCallUserSpace.js is imported by 5 file(s): ReactFiberBeginWork.js, ReactFiberCommitEffects.js, ReactFiberHooks.js, ReactFiberThenable.js, ReactFiberThrow.js.
Where is ReactFiberCallUserSpace.js in the architecture?
ReactFiberCallUserSpace.js is located at packages/react-reconciler/src/ReactFiberCallUserSpace.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