reintroduce useful rerender state
This commit is contained in:
parent
b62c5694d4
commit
01e52f72d2
|
|
@ -33,6 +33,7 @@ export const TraceView: React.FC<{
|
||||||
pathSeparator: string,
|
pathSeparator: string,
|
||||||
}> = ({ item, rootDir, onOpenExternally, revealSource, pathSeparator }) => {
|
}> = ({ item, rootDir, onOpenExternally, revealSource, pathSeparator }) => {
|
||||||
const [model, setModel] = React.useState<{ model: MultiTraceModel, isLive: boolean } | undefined>();
|
const [model, setModel] = React.useState<{ model: MultiTraceModel, isLive: boolean } | undefined>();
|
||||||
|
const [rerender, setRerender] = React.useState(0);
|
||||||
const pollTimer = React.useRef<NodeJS.Timeout | null>(null);
|
const pollTimer = React.useRef<NodeJS.Timeout | null>(null);
|
||||||
|
|
||||||
const { outputDir } = React.useMemo(() => {
|
const { outputDir } = React.useMemo(() => {
|
||||||
|
|
@ -79,13 +80,15 @@ export const TraceView: React.FC<{
|
||||||
setModel({ model, isLive: true });
|
setModel({ model, isLive: true });
|
||||||
} catch {
|
} catch {
|
||||||
setModel(undefined);
|
setModel(undefined);
|
||||||
|
} finally {
|
||||||
|
setRerender(rerender + 1);
|
||||||
}
|
}
|
||||||
}, 500);
|
}, 500);
|
||||||
return () => {
|
return () => {
|
||||||
if (pollTimer.current)
|
if (pollTimer.current)
|
||||||
clearTimeout(pollTimer.current);
|
clearTimeout(pollTimer.current);
|
||||||
};
|
};
|
||||||
}, [outputDir, item, setModel, pathSeparator]);
|
}, [outputDir, item, setModel, rerender, setRerender, pathSeparator]);
|
||||||
|
|
||||||
return <Workbench
|
return <Workbench
|
||||||
key='workbench'
|
key='workbench'
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue