@samitouri / QOS-React-2 / commits / 2d4bb01c01

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) {