hydrateProperties() — react Function Reference
Architecture documentation for the hydrateProperties() function in ReactDOMComponent.js from the react codebase.
Entity Profile
Dependency Diagram
graph TD 894d4888_e1c9_cdd6_e0cb_7451b6fba151["hydrateProperties()"] 1e990658_7cea_75be_1f24_2399bdf9f15b["ReactDOMComponent.js"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|defined in| 1e990658_7cea_75be_1f24_2399bdf9f15b d1920c22_65b3_03a6_5c07_e0adab00dcde["validatePropertiesInDevelopment()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| d1920c22_65b3_03a6_5c07_e0adab00dcde 9a006a44_c580_470b_507b_17fea64729bd["listenToNonDelegatedEvent()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| 9a006a44_c580_470b_507b_17fea64729bd 25aca4ae_e70f_705d_7673_e44af72ab539["checkControlledValueProps()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| 25aca4ae_e70f_705d_7673_e44af72ab539 7fde30c4_2df7_4194_0c3e_083dd0f57c00["validateInputProps()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| 7fde30c4_2df7_4194_0c3e_083dd0f57c00 754de9fa_432c_542e_fa21_08b18b75915b["initInput()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| 754de9fa_432c_542e_fa21_08b18b75915b 2d1887fd_1055_7a9f_f81b_d9416d83bdab["validateOptionProps()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| 2d1887fd_1055_7a9f_f81b_d9416d83bdab c18a6119_e933_0faf_e206_a100b0cc50ec["validateSelectProps()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| c18a6119_e933_0faf_e206_a100b0cc50ec b12eb1de_52b7_7e30_8597_6e5ab493b767["validateTextareaProps()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| b12eb1de_52b7_7e30_8597_6e5ab493b767 d7552454_ad8c_6921_661d_7d0abf4e6add["initTextarea()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| d7552454_ad8c_6921_661d_7d0abf4e6add ddbc1690_cbca_9f67_caf6_506c865c480a["checkForUnmatchedText()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| ddbc1690_cbca_9f67_caf6_506c865c480a a0421d9a_64b7_2b13_1226_e3a3b9292e4e["trapClickOnNonInteractiveElement()"] 894d4888_e1c9_cdd6_e0cb_7451b6fba151 -->|calls| a0421d9a_64b7_2b13_1226_e3a3b9292e4e style 894d4888_e1c9_cdd6_e0cb_7451b6fba151 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
packages/react-dom-bindings/src/client/ReactDOMComponent.js lines 3103–3263
export function hydrateProperties(
domElement: Element,
tag: string,
props: Object,
hostContext: HostContext,
): boolean {
if (__DEV__) {
validatePropertiesInDevelopment(tag, props);
}
// TODO: Make sure that we check isMounted before firing any of these events.
switch (tag) {
case 'dialog':
listenToNonDelegatedEvent('cancel', domElement);
listenToNonDelegatedEvent('close', domElement);
break;
case 'iframe':
case 'object':
case 'embed':
// We listen to this event in case to ensure emulated bubble
// listeners still fire for the load event.
listenToNonDelegatedEvent('load', domElement);
break;
case 'video':
case 'audio':
// We listen to these events in case to ensure emulated bubble
// listeners still fire for all the media events.
for (let i = 0; i < mediaEventTypes.length; i++) {
listenToNonDelegatedEvent(mediaEventTypes[i], domElement);
}
break;
case 'source':
// We listen to this event in case to ensure emulated bubble
// listeners still fire for the error event.
listenToNonDelegatedEvent('error', domElement);
break;
case 'img':
case 'image':
case 'link':
// We listen to these events in case to ensure emulated bubble
// listeners still fire for error and load events.
listenToNonDelegatedEvent('error', domElement);
listenToNonDelegatedEvent('load', domElement);
break;
case 'details':
// We listen to this event in case to ensure emulated bubble
// listeners still fire for the toggle event.
listenToNonDelegatedEvent('toggle', domElement);
break;
case 'input':
if (__DEV__) {
checkControlledValueProps('input', props);
}
// We listen to this event in case to ensure emulated bubble
// listeners still fire for the invalid event.
listenToNonDelegatedEvent('invalid', domElement);
// TODO: Make sure we check if this is still unmounted or do any clean
// up necessary since we never stop tracking anymore.
validateInputProps(domElement, props);
// For input and textarea we current always set the value property at
// post mount to force it to diverge from attributes. However, for
// option and select we don't quite do the same thing and select
// is not resilient to the DOM state changing so we don't do that here.
// TODO: Consider not doing this for input and textarea.
if (!enableHydrationChangeEvent) {
initInput(
domElement,
props.value,
props.defaultValue,
props.checked,
props.defaultChecked,
props.type,
props.name,
true,
);
}
break;
case 'option':
validateOptionProps(domElement, props);
break;
case 'select':
Domain
Subdomains
Calls
Source
Frequently Asked Questions
What does hydrateProperties() do?
hydrateProperties() is a function in the react codebase, defined in packages/react-dom-bindings/src/client/ReactDOMComponent.js.
Where is hydrateProperties() defined?
hydrateProperties() is defined in packages/react-dom-bindings/src/client/ReactDOMComponent.js at line 3103.
What does hydrateProperties() call?
hydrateProperties() calls 11 function(s): checkControlledValueProps, checkForUnmatchedText, initInput, initTextarea, listenToNonDelegatedEvent, trapClickOnNonInteractiveElement, validateInputProps, validateOptionProps, and 3 more.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free