mirror of
https://github.com/facebook/react.git
synced 2025-11-01 09:12:30 +00:00
Refactor DOM special cases per tags including controlled fields (#26501)
I use a shared helper when setting properties into a helper whether it's initial or update. I moved the special cases per tag to commit phase so we can check it only once. This also effectively inlines getHostProps which can be done in a single check per prop key. The diffProperties operation is simplified to mostly just generating a plain diff of all properties, generating an update payload. This might generate a few more entries that are now ignored in the commit phase. that previously would've been ignored earlier. We could skip this and just do the whole diff in the commit phase by always scheduling a commit phase update. I tested the attribute table (one change documented below) and a few select DOM fixtures. DiffTrain build for commit https://github.com/facebook/react/commit/85de6fde515148babd36eae2b7384ad8e62b732a.
This commit is contained in:
+1
-1
@@ -23762,7 +23762,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-next-5cbe6258b-20230328";
|
||||
var ReactVersion = "18.3.0-next-85de6fde5-20230328";
|
||||
|
||||
// Might add PROFILE later.
|
||||
|
||||
|
||||
+2
-2
@@ -8640,7 +8640,7 @@ var devToolsConfig$jscomp$inline_1007 = {
|
||||
throw Error("TestRenderer does not support findFiberByHostInstance()");
|
||||
},
|
||||
bundleType: 0,
|
||||
version: "18.3.0-next-5cbe6258b-20230328",
|
||||
version: "18.3.0-next-85de6fde5-20230328",
|
||||
rendererPackageName: "react-test-renderer"
|
||||
};
|
||||
var internals$jscomp$inline_1198 = {
|
||||
@@ -8671,7 +8671,7 @@ var internals$jscomp$inline_1198 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-next-5cbe6258b-20230328"
|
||||
reconcilerVersion: "18.3.0-next-85de6fde5-20230328"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1199 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
|
||||
+2
-2
@@ -9065,7 +9065,7 @@ var devToolsConfig$jscomp$inline_1050 = {
|
||||
throw Error("TestRenderer does not support findFiberByHostInstance()");
|
||||
},
|
||||
bundleType: 0,
|
||||
version: "18.3.0-next-5cbe6258b-20230328",
|
||||
version: "18.3.0-next-85de6fde5-20230328",
|
||||
rendererPackageName: "react-test-renderer"
|
||||
};
|
||||
var internals$jscomp$inline_1239 = {
|
||||
@@ -9096,7 +9096,7 @@ var internals$jscomp$inline_1239 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-next-5cbe6258b-20230328"
|
||||
reconcilerVersion: "18.3.0-next-85de6fde5-20230328"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1240 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
|
||||
+1
-1
@@ -27,7 +27,7 @@ if (
|
||||
}
|
||||
"use strict";
|
||||
|
||||
var ReactVersion = "18.3.0-next-5cbe6258b-20230328";
|
||||
var ReactVersion = "18.3.0-next-85de6fde5-20230328";
|
||||
|
||||
// ATTENTION
|
||||
// When adding new symbols to this file,
|
||||
|
||||
+1
-1
@@ -639,4 +639,4 @@ exports.useSyncExternalStore = function (
|
||||
);
|
||||
};
|
||||
exports.useTransition = useTransition;
|
||||
exports.version = "18.3.0-next-5cbe6258b-20230328";
|
||||
exports.version = "18.3.0-next-85de6fde5-20230328";
|
||||
|
||||
+1
-1
@@ -642,7 +642,7 @@ exports.useSyncExternalStore = function (
|
||||
);
|
||||
};
|
||||
exports.useTransition = useTransition;
|
||||
exports.version = "18.3.0-next-5cbe6258b-20230328";
|
||||
exports.version = "18.3.0-next-85de6fde5-20230328";
|
||||
|
||||
/* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */
|
||||
if (
|
||||
|
||||
+1
-1
@@ -1 +1 @@
|
||||
5cbe6258bc436b1683080a6d978c27849f1d9a22
|
||||
85de6fde515148babd36eae2b7384ad8e62b732a
|
||||
|
||||
+1
-1
@@ -27028,7 +27028,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-next-5cbe6258b-20230328";
|
||||
var ReactVersion = "18.3.0-next-85de6fde5-20230328";
|
||||
|
||||
function createPortal$1(
|
||||
children,
|
||||
|
||||
+2
-2
@@ -9507,7 +9507,7 @@ var roots = new Map(),
|
||||
devToolsConfig$jscomp$inline_1027 = {
|
||||
findFiberByHostInstance: getInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-next-5cbe6258b-20230328",
|
||||
version: "18.3.0-next-85de6fde5-20230328",
|
||||
rendererPackageName: "react-native-renderer",
|
||||
rendererConfig: {
|
||||
getInspectorDataForViewTag: function () {
|
||||
@@ -9549,7 +9549,7 @@ var internals$jscomp$inline_1273 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-next-5cbe6258b-20230328"
|
||||
reconcilerVersion: "18.3.0-next-85de6fde5-20230328"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1274 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
|
||||
+2
-2
@@ -10215,7 +10215,7 @@ var roots = new Map(),
|
||||
devToolsConfig$jscomp$inline_1106 = {
|
||||
findFiberByHostInstance: getInstanceFromNode,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-next-5cbe6258b-20230328",
|
||||
version: "18.3.0-next-85de6fde5-20230328",
|
||||
rendererPackageName: "react-native-renderer",
|
||||
rendererConfig: {
|
||||
getInspectorDataForViewTag: function () {
|
||||
@@ -10270,7 +10270,7 @@ var roots = new Map(),
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-next-5cbe6258b-20230328"
|
||||
reconcilerVersion: "18.3.0-next-85de6fde5-20230328"
|
||||
});
|
||||
exports.createPortal = function (children, containerTag) {
|
||||
return createPortal$1(
|
||||
|
||||
+1
-1
@@ -27568,7 +27568,7 @@ function createFiberRoot(
|
||||
return root;
|
||||
}
|
||||
|
||||
var ReactVersion = "18.3.0-next-5cbe6258b-20230328";
|
||||
var ReactVersion = "18.3.0-next-85de6fde5-20230328";
|
||||
|
||||
function createPortal$1(
|
||||
children,
|
||||
|
||||
+2
-2
@@ -9763,7 +9763,7 @@ var roots = new Map(),
|
||||
devToolsConfig$jscomp$inline_1086 = {
|
||||
findFiberByHostInstance: getInstanceFromTag,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-next-5cbe6258b-20230328",
|
||||
version: "18.3.0-next-85de6fde5-20230328",
|
||||
rendererPackageName: "react-native-renderer",
|
||||
rendererConfig: {
|
||||
getInspectorDataForViewTag: function () {
|
||||
@@ -9805,7 +9805,7 @@ var internals$jscomp$inline_1339 = {
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-next-5cbe6258b-20230328"
|
||||
reconcilerVersion: "18.3.0-next-85de6fde5-20230328"
|
||||
};
|
||||
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
|
||||
var hook$jscomp$inline_1340 = __REACT_DEVTOOLS_GLOBAL_HOOK__;
|
||||
|
||||
+2
-2
@@ -10471,7 +10471,7 @@ var roots = new Map(),
|
||||
devToolsConfig$jscomp$inline_1165 = {
|
||||
findFiberByHostInstance: getInstanceFromTag,
|
||||
bundleType: 0,
|
||||
version: "18.3.0-next-5cbe6258b-20230328",
|
||||
version: "18.3.0-next-85de6fde5-20230328",
|
||||
rendererPackageName: "react-native-renderer",
|
||||
rendererConfig: {
|
||||
getInspectorDataForViewTag: function () {
|
||||
@@ -10526,7 +10526,7 @@ var roots = new Map(),
|
||||
scheduleRoot: null,
|
||||
setRefreshHandler: null,
|
||||
getCurrentFiber: null,
|
||||
reconcilerVersion: "18.3.0-next-5cbe6258b-20230328"
|
||||
reconcilerVersion: "18.3.0-next-85de6fde5-20230328"
|
||||
});
|
||||
exports.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = {
|
||||
computeComponentStackForErrorReporting: function (reactTag) {
|
||||
|
||||
Reference in New Issue
Block a user