Home / Function/ validateNoRefValueAccess() — react Function Reference

validateNoRefValueAccess() — react Function Reference

Architecture documentation for the validateNoRefValueAccess() function in ValidateNoRefAccessInRender.ts from the react codebase.

Entity Profile

Dependency Diagram

graph TD
  dcc1f914_5794_a407_1199_7b92ff82eb80["validateNoRefValueAccess()"]
  8dbbe52d_b145_88fe_e0da_33d06180b558["ValidateNoRefAccessInRender.ts"]
  dcc1f914_5794_a407_1199_7b92ff82eb80 -->|defined in| 8dbbe52d_b145_88fe_e0da_33d06180b558
  b2292640_a950_f66a_1a21_4fa1d74f094d["validateNoRefAccessInRenderImpl()"]
  b2292640_a950_f66a_1a21_4fa1d74f094d -->|calls| dcc1f914_5794_a407_1199_7b92ff82eb80
  5ff0aef2_aec1_821c_3407_8b71cc244fe1["destructure()"]
  dcc1f914_5794_a407_1199_7b92ff82eb80 -->|calls| 5ff0aef2_aec1_821c_3407_8b71cc244fe1
  03dffe4e_b34b_74b6_636a_f8dfe1a2b604["get()"]
  dcc1f914_5794_a407_1199_7b92ff82eb80 -->|calls| 03dffe4e_b34b_74b6_636a_f8dfe1a2b604
  02303def_636f_c5b3_a751_1cf138fcea69["pushDiagnostic()"]
  dcc1f914_5794_a407_1199_7b92ff82eb80 -->|calls| 02303def_636f_c5b3_a751_1cf138fcea69
  ac13f5c1_be17_dd7a_6bd3_66d91c46aadf["create()"]
  dcc1f914_5794_a407_1199_7b92ff82eb80 -->|calls| ac13f5c1_be17_dd7a_6bd3_66d91c46aadf
  1a2b7047_24c8_62d6_b328_5f07307d27ab["withDetails()"]
  dcc1f914_5794_a407_1199_7b92ff82eb80 -->|calls| 1a2b7047_24c8_62d6_b328_5f07307d27ab
  style dcc1f914_5794_a407_1199_7b92ff82eb80 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts lines 785–807

function validateNoRefValueAccess(
  errors: CompilerError,
  env: Env,
  operand: Place,
): void {
  const type = destructure(env.get(operand.identifier.id));
  if (
    type?.kind === 'RefValue' ||
    (type?.kind === 'Structure' && type.fn?.readRefEffect)
  ) {
    errors.pushDiagnostic(
      CompilerDiagnostic.create({
        category: ErrorCategory.Refs,
        reason: 'Cannot access refs during render',
        description: ERROR_DESCRIPTION,
      }).withDetails({
        kind: 'error',
        loc: (type.kind === 'RefValue' && type.loc) || operand.loc,
        message: `Cannot access ref value during render`,
      }),
    );
  }
}

Domain

Subdomains

Frequently Asked Questions

What does validateNoRefValueAccess() do?
validateNoRefValueAccess() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts.
Where is validateNoRefValueAccess() defined?
validateNoRefValueAccess() is defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts at line 785.
What does validateNoRefValueAccess() call?
validateNoRefValueAccess() calls 5 function(s): create, destructure, get, pushDiagnostic, withDetails.
What calls validateNoRefValueAccess()?
validateNoRefValueAccess() is called by 1 function(s): validateNoRefAccessInRenderImpl.

Analyze Your Own Codebase

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

Try Supermodel Free