Skip to content

Commit 35a4e33

Browse files
committed
fix[devtools/tree/element]: onClick -> onMouseDown to handle first click correctly (#28486)
There is a weird behaviour in all shells of RDT: when user opens `Components` tab and scrolls down a tree (without any prior click or focus event), and then clicks on some element, the `click` event will not be fired. Because `click` event hasn't been fired, the `focus` event is fired for the whole list and we pre-select the first (root) element in the tree: https://github.com/facebook/react/blob/034130c02ffb47b0026059b57d17e9b080976ff3/packages/react-devtools-shared/src/devtools/views/Components/Tree.js#L217-L226 Check the demo (before) what is happening. I don't know exactly why `click` event is not fired there, but it only happens: 1. For elements, which were not previously rendered (for virtualization purposes). 2. When HTML-element (div), which represents the container for the tree was not focused previously. Unlike the `click` event, the `mousedown` event is fired consistently. ### Before https://github.com/facebook/react/assets/28902667/9f3ad75d-55d0-4c99-b2d0-ead63a120ea0 ### After https://github.com/facebook/react/assets/28902667/e34816be-644c-444c-8e32-562a79494e44 Tested that it works in all shells, including the select / deselect features (with `metaKey` param in event). DiffTrain build for commit facebook/react@aa4eae6.
1 parent ed524df commit 35a4e33

7 files changed

Lines changed: 9 additions & 9 deletions

File tree

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-dev.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25733,7 +25733,7 @@ if (__DEV__) {
2573325733
return root;
2573425734
}
2573525735

25736-
var ReactVersion = "18.3.0-canary-0ae2b1341-20240304";
25736+
var ReactVersion = "18.3.0-canary-aa4eae6b9-20240305";
2573725737

2573825738
// Might add PROFILE later.
2573925739

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-prod.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9173,7 +9173,7 @@ var devToolsConfig$jscomp$inline_1014 = {
91739173
throw Error("TestRenderer does not support findFiberByHostInstance()");
91749174
},
91759175
bundleType: 0,
9176-
version: "18.3.0-canary-0ae2b1341-20240304",
9176+
version: "18.3.0-canary-aa4eae6b9-20240305",
91779177
rendererPackageName: "react-test-renderer"
91789178
};
91799179
var internals$jscomp$inline_1195 = {
@@ -9204,7 +9204,7 @@ var internals$jscomp$inline_1195 = {
92049204
scheduleRoot: null,
92059205
setRefreshHandler: null,
92069206
getCurrentFiber: null,
9207-
reconcilerVersion: "18.3.0-canary-0ae2b1341-20240304"
9207+
reconcilerVersion: "18.3.0-canary-aa4eae6b9-20240305"
92089208
};
92099209
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
92109210
var hook$jscomp$inline_1196 = __REACT_DEVTOOLS_GLOBAL_HOOK__;

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react-test-renderer/cjs/ReactTestRenderer-profiling.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9601,7 +9601,7 @@ var devToolsConfig$jscomp$inline_1056 = {
96019601
throw Error("TestRenderer does not support findFiberByHostInstance()");
96029602
},
96039603
bundleType: 0,
9604-
version: "18.3.0-canary-0ae2b1341-20240304",
9604+
version: "18.3.0-canary-aa4eae6b9-20240305",
96059605
rendererPackageName: "react-test-renderer"
96069606
};
96079607
var internals$jscomp$inline_1236 = {
@@ -9632,7 +9632,7 @@ var internals$jscomp$inline_1236 = {
96329632
scheduleRoot: null,
96339633
setRefreshHandler: null,
96349634
getCurrentFiber: null,
9635-
reconcilerVersion: "18.3.0-canary-0ae2b1341-20240304"
9635+
reconcilerVersion: "18.3.0-canary-aa4eae6b9-20240305"
96369636
};
96379637
if ("undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__) {
96389638
var hook$jscomp$inline_1237 = __REACT_DEVTOOLS_GLOBAL_HOOK__;

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-dev.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ if (__DEV__) {
2626
}
2727
var dynamicFlags = require("ReactNativeInternalFeatureFlags");
2828

29-
var ReactVersion = "18.3.0-canary-0ae2b1341-20240304";
29+
var ReactVersion = "18.3.0-canary-aa4eae6b9-20240305";
3030

3131
// ATTENTION
3232
// When adding new symbols to this file,

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-prod.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -598,4 +598,4 @@ exports.useSyncExternalStore = function (
598598
exports.useTransition = function () {
599599
return ReactCurrentDispatcher.current.useTransition();
600600
};
601-
exports.version = "18.3.0-canary-0ae2b1341-20240304";
601+
exports.version = "18.3.0-canary-aa4eae6b9-20240305";

compiled-rn/facebook-fbsource/xplat/js/RKJSModules/vendor/react/cjs/React-profiling.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -594,7 +594,7 @@ exports.useSyncExternalStore = function (
594594
exports.useTransition = function () {
595595
return ReactCurrentDispatcher.current.useTransition();
596596
};
597-
exports.version = "18.3.0-canary-0ae2b1341-20240304";
597+
exports.version = "18.3.0-canary-aa4eae6b9-20240305";
598598
"undefined" !== typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ &&
599599
"function" ===
600600
typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.registerInternalModuleStop &&
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
0ae2b13412e0e4cf10a799ec645035213834556c
1+
aa4eae6b99a6081afabf180d02fa0a8b0cb1b3ab

0 commit comments

Comments
 (0)