diff --git a/src/devtools/views/Profiler/ProfilerContext.js b/src/devtools/views/Profiler/ProfilerContext.js index 58ba6e1c52..c0d4433090 100644 --- a/src/devtools/views/Profiler/ProfilerContext.js +++ b/src/devtools/views/Profiler/ProfilerContext.js @@ -33,6 +33,7 @@ type Context = {| hasProfilingData: boolean, isProcessingData: boolean, isProfiling: boolean, + profilingData: ProfilingDataFrontend | null, startProfiling(value: boolean): void, stopProfiling(value: boolean): void, @@ -203,6 +204,7 @@ function ProfilerContextController({ children }: Props) { hasProfilingData, isProcessingData, isProfiling, + profilingData, startProfiling, stopProfiling, @@ -231,6 +233,7 @@ function ProfilerContextController({ children }: Props) { hasProfilingData, isProcessingData, isProfiling, + profilingData, startProfiling, stopProfiling, diff --git a/src/devtools/views/Profiler/ProfilingImportExportButtons.js b/src/devtools/views/Profiler/ProfilingImportExportButtons.js index 11e850256b..f7807e02db 100644 --- a/src/devtools/views/Profiler/ProfilingImportExportButtons.js +++ b/src/devtools/views/Profiler/ProfilingImportExportButtons.js @@ -17,7 +17,7 @@ import styles from './ProfilingImportExportButtons.css'; import type { ProfilingDataExport } from './types'; export default function ProfilingImportExportButtons() { - const { isProfiling, rootID } = useContext(ProfilerContext); + const { isProfiling, profilingData, rootID } = useContext(ProfilerContext); const store = useContext(StoreContext); const { profilerStore } = store; @@ -30,17 +30,14 @@ export default function ProfilingImportExportButtons() { return; } - if (profilerStore.profilingData !== null) { - const profilingDataExport = prepareProfilingDataExport( - profilerStore.profilingData - ); - + if (profilingData !== null) { + const profilingDataExport = prepareProfilingDataExport(profilingData); downloadFile( 'profile-data.json', JSON.stringify(profilingDataExport, null, 2) ); } - }, [rootID, profilerStore.profilingData]); + }, [rootID, profilingData]); const uploadData = useCallback(() => { if (inputRef.current !== null) { diff --git a/src/devtools/views/Profiler/RootSelector.js b/src/devtools/views/Profiler/RootSelector.js index 0608e64feb..b4e89af824 100644 --- a/src/devtools/views/Profiler/RootSelector.js +++ b/src/devtools/views/Profiler/RootSelector.js @@ -2,15 +2,11 @@ import React, { Fragment, useCallback, useContext } from 'react'; import { ProfilerContext } from './ProfilerContext'; -import { StoreContext } from '../context'; import styles from './RootSelector.css'; export default function RootSelector(_: {||}) { - const store = useContext(StoreContext); - const { rootID, setRootID } = useContext(ProfilerContext); - - const { profilingData } = store.profilerStore; + const { profilingData, rootID, setRootID } = useContext(ProfilerContext); const options = []; if (profilingData !== null) {