markRef() — react Function Reference
Architecture documentation for the markRef() function in ReactFiberBeginWork.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD add16f45_ce6d_6414_6371_4a68ab583d28["markRef()"] 0be70812_cc0c_b210_f84f_8e61dd5f831c["ReactFiberBeginWork.js"] add16f45_ce6d_6414_6371_4a68ab583d28 -->|defined in| 0be70812_cc0c_b210_f84f_8e61dd5f831c 9de08ac8_c26a_67db_9944_713b083358ad["updateFragment()"] 9de08ac8_c26a_67db_9944_713b083358ad -->|calls| add16f45_ce6d_6414_6371_4a68ab583d28 fec6f182_8acb_a259_b114_e6d1db8ac64b["finishClassComponent()"] fec6f182_8acb_a259_b114_e6d1db8ac64b -->|calls| add16f45_ce6d_6414_6371_4a68ab583d28 53f55fda_e2b6_2801_4fbc_525f8828d23d["updateHostRoot()"] 53f55fda_e2b6_2801_4fbc_525f8828d23d -->|calls| add16f45_ce6d_6414_6371_4a68ab583d28 a4677f2e_f0f6_771a_d467_f3a4fbe183e4["updateViewTransition()"] a4677f2e_f0f6_771a_d467_f3a4fbe183e4 -->|calls| add16f45_ce6d_6414_6371_4a68ab583d28 7fe46cc0_0238_85cf_4617_39ebe0b19075["updateScopeComponent()"] 7fe46cc0_0238_85cf_4617_39ebe0b19075 -->|calls| add16f45_ce6d_6414_6371_4a68ab583d28 style add16f45_ce6d_6414_6371_4a68ab583d28 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-reconciler/src/ReactFiberBeginWork.js lines 1381–1400
function markRef(current: Fiber | null, workInProgress: Fiber) {
// TODO: Check props.ref instead of fiber.ref when enableRefAsProp is on.
const ref = workInProgress.ref;
if (ref === null) {
if (current !== null && current.ref !== null) {
// Schedule a Ref effect
workInProgress.flags |= Ref | RefStatic;
}
} else {
if (typeof ref !== 'function' && typeof ref !== 'object') {
throw new Error(
'Expected ref to be a function, an object returned by React.createRef(), or undefined/null.',
);
}
if (current === null || current.ref !== ref) {
// Schedule a Ref effect
workInProgress.flags |= Ref | RefStatic;
}
}
}
Domain
Subdomains
Called By
Source
Frequently Asked Questions
What does markRef() do?
markRef() is a function in the react codebase, defined in packages/react-reconciler/src/ReactFiberBeginWork.js.
Where is markRef() defined?
markRef() is defined in packages/react-reconciler/src/ReactFiberBeginWork.js at line 1381.
What calls markRef()?
markRef() is called by 5 function(s): finishClassComponent, updateFragment, updateHostRoot, updateScopeComponent, updateViewTransition.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free