repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js — react Source File
Architecture documentation for repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js, a javascript file in the react codebase. 1 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR d13eeb2e_5437_8472_fc95_2cb89f1f0b81["repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js"] 006eec3d_77a9_4a47_e6c1_a96d7a6c9c05["shared-runtime"] d13eeb2e_5437_8472_fc95_2cb89f1f0b81 --> 006eec3d_77a9_4a47_e6c1_a96d7a6c9c05 style d13eeb2e_5437_8472_fc95_2cb89f1f0b81 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
// @validatePreserveExistingMemoizationGuarantees
import {identity, Stringify} from 'shared-runtime';
/**
* Repro from https://github.com/facebook/react/issues/34262
*
* The compiler memoizes more precisely than the original code, with two reactive scopes:
* - One for `transform(input)` with `input` as dep
* - One for `{value}` with `value` as dep
*
* Previously ValidatePreservedManualMemoization rejected this input, because
* the original memoization had `object` depending on `input` but we split the scope per above,
* and the scope for the FinishMemoize instruction is the second scope which depends on `value`
*/
function useInputValue(input) {
const object = React.useMemo(() => {
const {value} = identity(input);
return {value};
}, [input]);
return object;
}
function Component() {
return <Stringify value={useInputValue({value: 42}).value} />;
}
export const FIXTURE_ENTRYPOINT = {
fn: Component,
params: [{}],
};
Domain
Subdomains
Functions
Dependencies
- shared-runtime
Source
Frequently Asked Questions
What does repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js do?
repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js is a source file in the react codebase, written in javascript. It belongs to the TestingUtilities domain, Fixtures subdomain.
What functions are defined in repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js?
repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js defines 2 function(s): Component, useInputValue.
What does repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js depend on?
repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js imports 1 module(s): shared-runtime.
Where is repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js in the architecture?
repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js is located at compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler/repro-preserve-memoization-inner-destructured-value-mistaken-as-dependency.js (domain: TestingUtilities, subdomain: Fixtures, directory: compiler/packages/babel-plugin-react-compiler/src/__tests__/fixtures/compiler).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free