From a97b6c7e6fc90b6385d522df3f570ff23462832c Mon Sep 17 00:00:00 2001 From: Ruslan Lesiutin Date: Thu, 26 Sep 2024 08:19:20 -0700 Subject: [PATCH] fix: pass closest public instance to React DevTools (#46664) Summary: Pull Request resolved: https://github.com/facebook/react-native/pull/46664 # Changelog: [Internal] Please see https://github.com/facebook/react/pull/31068. Synced changes for React Native - D63453667. Differential Revision: D63421463 --- .../Inspector/ReactDevToolsOverlay.js | 21 +++++++------------ 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/packages/react-native/Libraries/Inspector/ReactDevToolsOverlay.js b/packages/react-native/Libraries/Inspector/ReactDevToolsOverlay.js index 866c3d7d4e99f6..701ea42b4c7849 100644 --- a/packages/react-native/Libraries/Inspector/ReactDevToolsOverlay.js +++ b/packages/react-native/Libraries/Inspector/ReactDevToolsOverlay.js @@ -78,20 +78,15 @@ export default function ReactDevToolsOverlay({ x, y, viewData => { - const {touchedViewTag, closestInstance, frame} = viewData; - if (closestInstance != null || touchedViewTag != null) { - // We call `selectNode` for both non-fabric(viewTag) and fabric(instance), - // this makes sure it works for both architectures. - reactDevToolsAgent.selectNode(findNodeHandle(touchedViewTag)); - if (closestInstance != null) { - reactDevToolsAgent.selectNode(closestInstance); - } - setInspected({ - frame, - }); - return true; + const {frame, closestPublicInstance} = viewData; + + if (closestPublicInstance == null) { + return false; } - return false; + + reactDevToolsAgent.selectNode(closestPublicInstance); + setInspected({frame}); + return true; }, ); },