validateNoRefPassedToFunction() — react Function Reference
Architecture documentation for the validateNoRefPassedToFunction() function in ValidateNoRefAccessInRender.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 2895d7de_6752_b732_f292_789b9501dca8["validateNoRefPassedToFunction()"] 8dbbe52d_b145_88fe_e0da_33d06180b558["ValidateNoRefAccessInRender.ts"] 2895d7de_6752_b732_f292_789b9501dca8 -->|defined in| 8dbbe52d_b145_88fe_e0da_33d06180b558 b2292640_a950_f66a_1a21_4fa1d74f094d["validateNoRefAccessInRenderImpl()"] b2292640_a950_f66a_1a21_4fa1d74f094d -->|calls| 2895d7de_6752_b732_f292_789b9501dca8 5ff0aef2_aec1_821c_3407_8b71cc244fe1["destructure()"] 2895d7de_6752_b732_f292_789b9501dca8 -->|calls| 5ff0aef2_aec1_821c_3407_8b71cc244fe1 03dffe4e_b34b_74b6_636a_f8dfe1a2b604["get()"] 2895d7de_6752_b732_f292_789b9501dca8 -->|calls| 03dffe4e_b34b_74b6_636a_f8dfe1a2b604 02303def_636f_c5b3_a751_1cf138fcea69["pushDiagnostic()"] 2895d7de_6752_b732_f292_789b9501dca8 -->|calls| 02303def_636f_c5b3_a751_1cf138fcea69 ac13f5c1_be17_dd7a_6bd3_66d91c46aadf["create()"] 2895d7de_6752_b732_f292_789b9501dca8 -->|calls| ac13f5c1_be17_dd7a_6bd3_66d91c46aadf 1a2b7047_24c8_62d6_b328_5f07307d27ab["withDetails()"] 2895d7de_6752_b732_f292_789b9501dca8 -->|calls| 1a2b7047_24c8_62d6_b328_5f07307d27ab style 2895d7de_6752_b732_f292_789b9501dca8 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts lines 809–833
function validateNoRefPassedToFunction(
errors: CompilerError,
env: Env,
operand: Place,
loc: SourceLocation,
): void {
const type = destructure(env.get(operand.identifier.id));
if (
type?.kind === 'Ref' ||
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) || loc,
message: `Passing a ref to a function may read its value during render`,
}),
);
}
}
Domain
Subdomains
Defined In
Called By
Source
Frequently Asked Questions
What does validateNoRefPassedToFunction() do?
validateNoRefPassedToFunction() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts.
Where is validateNoRefPassedToFunction() defined?
validateNoRefPassedToFunction() is defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateNoRefAccessInRender.ts at line 809.
What does validateNoRefPassedToFunction() call?
validateNoRefPassedToFunction() calls 5 function(s): create, destructure, get, pushDiagnostic, withDetails.
What calls validateNoRefPassedToFunction()?
validateNoRefPassedToFunction() 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