reintroduce useful rerender state

This commit is contained in:
Simon Knott 2024-11-04 17:27:28 +01:00
parent b62c5694d4
commit 01e52f72d2
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC

View file

@ -33,6 +33,7 @@ export const TraceView: React.FC<{
pathSeparator: string,
}> = ({ item, rootDir, onOpenExternally, revealSource, pathSeparator }) => {
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 { outputDir } = React.useMemo(() => {
@ -79,13 +80,15 @@ export const TraceView: React.FC<{
setModel({ model, isLive: true });
} catch {
setModel(undefined);
} finally {
setRerender(rerender + 1);
}
}, 500);
return () => {
if (pollTimer.current)
clearTimeout(pollTimer.current);
};
}, [outputDir, item, setModel, pathSeparator]);
}, [outputDir, item, setModel, rerender, setRerender, pathSeparator]);
return <Workbench
key='workbench'