diff --git a/packages/react-devtools-shared/src/devtools/store.js b/packages/react-devtools-shared/src/devtools/store.js index 420817198b..2631893a54 100644 --- a/packages/react-devtools-shared/src/devtools/store.js +++ b/packages/react-devtools-shared/src/devtools/store.js @@ -669,6 +669,10 @@ export default class Store extends EventEmitter<{ return element; } + containsSuspense(id: SuspenseNode['id']): boolean { + return this._idToSuspense.has(id); + } + getSuspenseByID(id: SuspenseNode['id']): SuspenseNode | null { const suspense = this._idToSuspense.get(id); if (suspense === undefined) { diff --git a/packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseRects.js b/packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseRects.js index 221a6c90f8..f9ea6fd1f3 100644 --- a/packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseRects.js +++ b/packages/react-devtools-shared/src/devtools/views/SuspenseTab/SuspenseRects.js @@ -511,7 +511,11 @@ function SuspenseRectsContainer({ let selectedEnvironment = null; if (isRootSelected) { selectedEnvironment = rootEnvironment; - } else if (inspectedElementID !== null) { + } else if ( + inspectedElementID !== null && + // TODO: Separate inspected element and inspected Suspense and use the inspected Suspense ID here. + store.containsSuspense(inspectedElementID) + ) { const selectedSuspenseNode = store.getSuspenseByID(inspectedElementID); if ( selectedSuspenseNode !== null &&