Go through the toString path for booleanish strings and .name property (#26720)
This is consistent with what we used to do but not what we want to do.
Sebastian Markbåge committed
Apr 24, 2023 at 19:26 UTC
9ece58ebaa46f8b5e90a6ad71be4919e1dc9c563
2 files changed
+5
-2
packages/react-dom-bindings/src/client/ReactDOMComponent.js
+4
-1
@@ -685,7 +685,10 @@ function setProp(
685
if (__DEV__) {
686
checkAttributeStringCoercion(value, key);
687
}
688
- domElement.setAttribute(key, (value: any));
688
+ domElement.setAttribute(
689
+ key,
690
+ enableTrustedTypesIntegration ? (value: any) : '' + (value: any),
691
+ );
692
} else {
693
domElement.removeAttribute(key);
694
}
packages/react-dom-bindings/src/client/ReactDOMInput.js
+1
-1
@@ -188,7 +188,7 @@ export function updateInput(
188
if (__DEV__) {
189
checkAttributeStringCoercion(name, 'name');
190
}
191
- node.name = name;
191
+ node.name = toString(getToStringValue(name));
192
} else {
193
node.removeAttribute('name');
194
}