Shutdown DevTools Bridge synchronously when unmounting (#19180)
Brian Vaughn committed
Jun 23, 2020 at 11:48 UTC
1cfd332fd7d6e26af259d14a992ecf9bfb216d9f
1 file changed
+3
-2
packages/react-devtools-shared/src/devtools/views/DevTools.js
+3
-2
@@ -13,7 +13,7 @@ import '@reach/menu-button/styles.css';
13
import '@reach/tooltip/styles.css';
14
15
import * as React from 'react';
16
-import {useEffect, useMemo, useRef} from 'react';
16
+import {useEffect, useLayoutEffect, useMemo, useRef} from 'react';
17
import Store from '../store';
18
import {BridgeContext, ContextMenuContext, StoreContext} from './context';
19
import Components from './Components/Components';
@@ -169,9 +169,10 @@ export default function DevTools({
169
};
170
}, [showTabBar]);
171
172
- useEffect(() => {
172
+ useLayoutEffect(() => {
173
return () => {
174
try {
175
+ // Shut the Bridge down synchronously (during unmount).
176
bridge.shutdown();
177
} catch (error) {
178
// Attempting to use a disconnected port.