Moved profiling data to ProfilerContext to fix re-import bug
Brian Vaughn committed
May 22, 2019 at 07:28 UTC
2d4bb01c01121ff55faa82f7ec30536f595bb807
3 files changed
+8
-12
src/devtools/views/Profiler/ProfilerContext.js
+3
@@ -33,6 +33,7 @@ type Context = {|
33
hasProfilingData: boolean,
34
isProcessingData: boolean,
35
isProfiling: boolean,
36
+ profilingData: ProfilingDataFrontend | null,
37
startProfiling(value: boolean): void,
38
stopProfiling(value: boolean): void,
39
@@ -203,6 +204,7 @@ function ProfilerContextController({ children }: Props) {
204
hasProfilingData,
205
isProcessingData,
206
isProfiling,
207
+ profilingData,
208
startProfiling,
209
stopProfiling,
210
@@ -231,6 +233,7 @@ function ProfilerContextController({ children }: Props) {
233
hasProfilingData,
234
isProcessingData,
235
isProfiling,
236
+ profilingData,
237
startProfiling,
238
stopProfiling,
239
src/devtools/views/Profiler/ProfilingImportExportButtons.js
+4
-7
@@ -17,7 +17,7 @@ import styles from './ProfilingImportExportButtons.css';
17
import type { ProfilingDataExport } from './types';
18
19
export default function ProfilingImportExportButtons() {
20
- const { isProfiling, rootID } = useContext(ProfilerContext);
20
+ const { isProfiling, profilingData, rootID } = useContext(ProfilerContext);
21
const store = useContext(StoreContext);
22
const { profilerStore } = store;
23
@@ -30,17 +30,14 @@ export default function ProfilingImportExportButtons() {
30
return;
31
}
32
33
- if (profilerStore.profilingData !== null) {
34
- const profilingDataExport = prepareProfilingDataExport(
35
- profilerStore.profilingData
36
- );
37
-
33
+ if (profilingData !== null) {
34
+ const profilingDataExport = prepareProfilingDataExport(profilingData);
35
downloadFile(
36
'profile-data.json',
37
JSON.stringify(profilingDataExport, null, 2)
38
);
39
}
43
- }, [rootID, profilerStore.profilingData]);
40
+ }, [rootID, profilingData]);
41
42
const uploadData = useCallback(() => {
43
if (inputRef.current !== null) {
src/devtools/views/Profiler/RootSelector.js
+1
-5
@@ -2,15 +2,11 @@
2
3
import React, { Fragment, useCallback, useContext } from 'react';
4
import { ProfilerContext } from './ProfilerContext';
5
-import { StoreContext } from '../context';
5
6
import styles from './RootSelector.css';
7
8
export default function RootSelector(_: {||}) {
10
- const store = useContext(StoreContext);
11
- const { rootID, setRootID } = useContext(ProfilerContext);
12
-
13
- const { profilingData } = store.profilerStore;
9
+ const { profilingData, rootID, setRootID } = useContext(ProfilerContext);
10
11
const options = [];
12
if (profilingData !== null) {