validateLocalsNotReassignedAfterRender() — react Function Reference
Architecture documentation for the validateLocalsNotReassignedAfterRender() function in ValidateLocalsNotReassignedAfterRender.ts from the react codebase.
Entity Profile
Dependency Diagram
graph TD 42a1b6ad_eddb_6bd3_4831_1d199766f971["validateLocalsNotReassignedAfterRender()"] 5b745296_c60b_00ed_f4d9_4badd89a2f2b["ValidateLocalsNotReassignedAfterRender.ts"] 42a1b6ad_eddb_6bd3_4831_1d199766f971 -->|defined in| 5b745296_c60b_00ed_f4d9_4badd89a2f2b c3bc3875_256f_8f5e_7800_2f9c5bae65eb["runWithEnvironment()"] c3bc3875_256f_8f5e_7800_2f9c5bae65eb -->|calls| 42a1b6ad_eddb_6bd3_4831_1d199766f971 176abc6d_b49b_3a9c_1432_7b5b6d45f2ac["getContextReassignment()"] 42a1b6ad_eddb_6bd3_4831_1d199766f971 -->|calls| 176abc6d_b49b_3a9c_1432_7b5b6d45f2ac 02303def_636f_c5b3_a751_1cf138fcea69["pushDiagnostic()"] 42a1b6ad_eddb_6bd3_4831_1d199766f971 -->|calls| 02303def_636f_c5b3_a751_1cf138fcea69 ac13f5c1_be17_dd7a_6bd3_66d91c46aadf["create()"] 42a1b6ad_eddb_6bd3_4831_1d199766f971 -->|calls| ac13f5c1_be17_dd7a_6bd3_66d91c46aadf 1a2b7047_24c8_62d6_b328_5f07307d27ab["withDetails()"] 42a1b6ad_eddb_6bd3_4831_1d199766f971 -->|calls| 1a2b7047_24c8_62d6_b328_5f07307d27ab style 42a1b6ad_eddb_6bd3_4831_1d199766f971 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateLocalsNotReassignedAfterRender.ts lines 23–51
export function validateLocalsNotReassignedAfterRender(fn: HIRFunction): void {
const contextVariables = new Set<IdentifierId>();
const reassignment = getContextReassignment(
fn,
contextVariables,
false,
false,
);
if (reassignment !== null) {
const errors = new CompilerError();
const variable =
reassignment.identifier.name != null &&
reassignment.identifier.name.kind === 'named'
? `\`${reassignment.identifier.name.value}\``
: 'variable';
errors.pushDiagnostic(
CompilerDiagnostic.create({
category: ErrorCategory.Immutability,
reason: 'Cannot reassign variable after render completes',
description: `Reassigning ${variable} after render has completed can cause inconsistent behavior on subsequent renders. Consider using state instead`,
}).withDetails({
kind: 'error',
loc: reassignment.loc,
message: `Cannot reassign ${variable} after render completes`,
}),
);
throw errors;
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does validateLocalsNotReassignedAfterRender() do?
validateLocalsNotReassignedAfterRender() is a function in the react codebase, defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateLocalsNotReassignedAfterRender.ts.
Where is validateLocalsNotReassignedAfterRender() defined?
validateLocalsNotReassignedAfterRender() is defined in compiler/packages/babel-plugin-react-compiler/src/Validation/ValidateLocalsNotReassignedAfterRender.ts at line 23.
What does validateLocalsNotReassignedAfterRender() call?
validateLocalsNotReassignedAfterRender() calls 4 function(s): create, getContextReassignment, pushDiagnostic, withDetails.
What calls validateLocalsNotReassignedAfterRender()?
validateLocalsNotReassignedAfterRender() is called by 1 function(s): runWithEnvironment.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free