mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
jsx: Remove unnecessary hasOwnProperty check (#28775)
Follow up to #28768.
The modern JSX runtime (`jsx`) does not need to check if each prop is a
direct property with `hasOwnProperty` because the compiler always passes
a plain object.
I'll leave the check in the old JSX runtime (`createElement`) since that
one can be called manually with any kind of object, and if there were
old user code that relied on this for some reason, it would be using
that runtime.
DiffTrain build for [0b3b8a6a35](https://github.com/facebook/react/commit/0b3b8a6a354b90fe76a9d82bb34487e5d2f71203)
This commit is contained in:
@@ -1410,11 +1410,8 @@ if (__DEV__) {
|
||||
props = {};
|
||||
|
||||
for (var propName in config) {
|
||||
if (
|
||||
hasOwnProperty.call(config, propName) && // Skip over reserved prop names
|
||||
propName !== "key" &&
|
||||
(enableRefAsProp || propName !== "ref")
|
||||
) {
|
||||
// Skip over reserved prop names
|
||||
if (propName !== "key" && (enableRefAsProp || propName !== "ref")) {
|
||||
if (enableRefAsProp && !disableStringRefs && propName === "ref") {
|
||||
props.ref = coerceStringRef(
|
||||
config[propName],
|
||||
|
||||
@@ -1412,11 +1412,8 @@ if (__DEV__) {
|
||||
props = {};
|
||||
|
||||
for (var propName in config) {
|
||||
if (
|
||||
hasOwnProperty.call(config, propName) && // Skip over reserved prop names
|
||||
propName !== "key" &&
|
||||
(enableRefAsProp || propName !== "ref")
|
||||
) {
|
||||
// Skip over reserved prop names
|
||||
if (propName !== "key" && (enableRefAsProp || propName !== "ref")) {
|
||||
if (enableRefAsProp && !disableStringRefs && propName === "ref") {
|
||||
props.ref = coerceStringRef(
|
||||
config[propName],
|
||||
|
||||
@@ -1 +1 @@
|
||||
2acfb7b60922bdc8376dd144ca7bc532df78254b
|
||||
0b3b8a6a354b90fe76a9d82bb34487e5d2f71203
|
||||
|
||||
@@ -24,7 +24,7 @@ if (__DEV__) {
|
||||
) {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
||||
}
|
||||
var ReactVersion = "19.0.0-www-classic-4511ca3e";
|
||||
var ReactVersion = "19.0.0-www-classic-87084f69";
|
||||
|
||||
// ATTENTION
|
||||
// When adding new symbols to this file,
|
||||
@@ -1818,11 +1818,8 @@ if (__DEV__) {
|
||||
props = {};
|
||||
|
||||
for (var propName in config) {
|
||||
if (
|
||||
hasOwnProperty.call(config, propName) && // Skip over reserved prop names
|
||||
propName !== "key" &&
|
||||
(enableRefAsProp || propName !== "ref")
|
||||
) {
|
||||
// Skip over reserved prop names
|
||||
if (propName !== "key" && (enableRefAsProp || propName !== "ref")) {
|
||||
if (enableRefAsProp && !disableStringRefs && propName === "ref") {
|
||||
props.ref = coerceStringRef(
|
||||
config[propName],
|
||||
|
||||
@@ -24,7 +24,7 @@ if (__DEV__) {
|
||||
) {
|
||||
__REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStart(new Error());
|
||||
}
|
||||
var ReactVersion = "19.0.0-www-modern-8e3891bc";
|
||||
var ReactVersion = "19.0.0-www-modern-7116ae62";
|
||||
|
||||
// ATTENTION
|
||||
// When adding new symbols to this file,
|
||||
@@ -1820,11 +1820,8 @@ if (__DEV__) {
|
||||
props = {};
|
||||
|
||||
for (var propName in config) {
|
||||
if (
|
||||
hasOwnProperty.call(config, propName) && // Skip over reserved prop names
|
||||
propName !== "key" &&
|
||||
(enableRefAsProp || propName !== "ref")
|
||||
) {
|
||||
// Skip over reserved prop names
|
||||
if (propName !== "key" && (enableRefAsProp || propName !== "ref")) {
|
||||
if (enableRefAsProp && !disableStringRefs && propName === "ref") {
|
||||
props.ref = coerceStringRef(
|
||||
config[propName],
|
||||
|
||||
@@ -121,9 +121,8 @@ function jsxProd(type, config, maybeKey) {
|
||||
(ref = coerceStringRef(ref, ReactCurrentOwner.current, type)));
|
||||
maybeKey = {};
|
||||
for (var propName in config)
|
||||
hasOwnProperty.call(config, propName) &&
|
||||
"key" !== propName &&
|
||||
(enableRefAsProp || "ref" !== propName) &&
|
||||
"key" === propName ||
|
||||
(!enableRefAsProp && "ref" === propName) ||
|
||||
(enableRefAsProp && "ref" === propName
|
||||
? (maybeKey.ref = coerceStringRef(
|
||||
config[propName],
|
||||
@@ -704,4 +703,4 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactCurrentDispatcher.current.useTransition();
|
||||
};
|
||||
exports.version = "19.0.0-www-classic-36e8d411";
|
||||
exports.version = "19.0.0-www-classic-544fd05e";
|
||||
|
||||
@@ -121,9 +121,8 @@ function jsxProd(type, config, maybeKey) {
|
||||
(ref = coerceStringRef(ref, ReactCurrentOwner.current, type)));
|
||||
maybeKey = {};
|
||||
for (var propName in config)
|
||||
hasOwnProperty.call(config, propName) &&
|
||||
"key" !== propName &&
|
||||
(enableRefAsProp || "ref" !== propName) &&
|
||||
"key" === propName ||
|
||||
(!enableRefAsProp && "ref" === propName) ||
|
||||
(enableRefAsProp && "ref" === propName
|
||||
? (maybeKey.ref = coerceStringRef(
|
||||
config[propName],
|
||||
@@ -704,4 +703,4 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactCurrentDispatcher.current.useTransition();
|
||||
};
|
||||
exports.version = "19.0.0-www-modern-36e8d411";
|
||||
exports.version = "19.0.0-www-modern-544fd05e";
|
||||
|
||||
@@ -125,9 +125,8 @@ function jsxProd(type, config, maybeKey) {
|
||||
(ref = coerceStringRef(ref, ReactCurrentOwner.current, type)));
|
||||
maybeKey = {};
|
||||
for (var propName in config)
|
||||
hasOwnProperty.call(config, propName) &&
|
||||
"key" !== propName &&
|
||||
(enableRefAsProp || "ref" !== propName) &&
|
||||
"key" === propName ||
|
||||
(!enableRefAsProp && "ref" === propName) ||
|
||||
(enableRefAsProp && "ref" === propName
|
||||
? (maybeKey.ref = coerceStringRef(
|
||||
config[propName],
|
||||
@@ -708,7 +707,7 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactCurrentDispatcher.current.useTransition();
|
||||
};
|
||||
exports.version = "19.0.0-www-classic-718fc0c7";
|
||||
exports.version = "19.0.0-www-classic-c3069b6b";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -125,9 +125,8 @@ function jsxProd(type, config, maybeKey) {
|
||||
(ref = coerceStringRef(ref, ReactCurrentOwner.current, type)));
|
||||
maybeKey = {};
|
||||
for (var propName in config)
|
||||
hasOwnProperty.call(config, propName) &&
|
||||
"key" !== propName &&
|
||||
(enableRefAsProp || "ref" !== propName) &&
|
||||
"key" === propName ||
|
||||
(!enableRefAsProp && "ref" === propName) ||
|
||||
(enableRefAsProp && "ref" === propName
|
||||
? (maybeKey.ref = coerceStringRef(
|
||||
config[propName],
|
||||
@@ -708,7 +707,7 @@ exports.useSyncExternalStore = function (
|
||||
exports.useTransition = function () {
|
||||
return ReactCurrentDispatcher.current.useTransition();
|
||||
};
|
||||
exports.version = "19.0.0-www-modern-718fc0c7";
|
||||
exports.version = "19.0.0-www-modern-c3069b6b";
|
||||
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
|
||||
"function" ===
|
||||
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
|
||||
|
||||
@@ -1530,11 +1530,8 @@ if (__DEV__) {
|
||||
props = {};
|
||||
|
||||
for (var propName in config) {
|
||||
if (
|
||||
hasOwnProperty.call(config, propName) && // Skip over reserved prop names
|
||||
propName !== "key" &&
|
||||
(enableRefAsProp || propName !== "ref")
|
||||
) {
|
||||
// Skip over reserved prop names
|
||||
if (propName !== "key" && (enableRefAsProp || propName !== "ref")) {
|
||||
if (enableRefAsProp && !disableStringRefs && propName === "ref") {
|
||||
props.ref = coerceStringRef(
|
||||
config[propName],
|
||||
@@ -3134,7 +3131,7 @@ if (__DEV__) {
|
||||
|
||||
function noop() {}
|
||||
|
||||
var ReactVersion = "19.0.0-www-modern-4e2ff20e";
|
||||
var ReactVersion = "19.0.0-www-modern-c9d5711a";
|
||||
|
||||
// Patch fetch
|
||||
var Children = {
|
||||
|
||||
@@ -82,9 +82,8 @@ function jsxProd(type, config, maybeKey) {
|
||||
(ref = coerceStringRef(ref, ReactCurrentOwner.current, type)));
|
||||
maybeKey = {};
|
||||
for (var propName in config)
|
||||
hasOwnProperty.call(config, propName) &&
|
||||
"key" !== propName &&
|
||||
(enableRefAsProp || "ref" !== propName) &&
|
||||
"key" === propName ||
|
||||
(!enableRefAsProp && "ref" === propName) ||
|
||||
(enableRefAsProp && "ref" === propName
|
||||
? (maybeKey.ref = coerceStringRef(
|
||||
config[propName],
|
||||
@@ -602,4 +601,4 @@ exports.useId = function () {
|
||||
exports.useMemo = function (create, deps) {
|
||||
return ReactCurrentDispatcher.current.useMemo(create, deps);
|
||||
};
|
||||
exports.version = "19.0.0-www-modern-ea5b7988";
|
||||
exports.version = "19.0.0-www-modern-9b5f5653";
|
||||
|
||||
Reference in New Issue
Block a user