Skip to content

Commit 0e033b4

Browse files
Avoid creating and throwing away Scroller each render
1 parent ecfa0ff commit 0e033b4

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

extensions/ql-vscode/src/view/results/raw-results-table.tsx

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,11 @@ export function RawTable({
4141
}: RawTableProps) {
4242
const [selectedItem, setSelectedItem] = useState<TableItem | undefined>();
4343

44-
const scroller = useRef(new ScrollIntoViewHelper());
45-
useEffect(() => scroller.current.update());
44+
const scroller = useRef<ScrollIntoViewHelper | undefined>(undefined);
45+
if (scroller.current === undefined) {
46+
scroller.current = new ScrollIntoViewHelper();
47+
}
48+
useEffect(() => scroller.current?.update());
4649

4750
const setSelection = useCallback((row: number, column: number): void => {
4851
setSelectedItem({ row, column });
@@ -76,7 +79,7 @@ export function RawTable({
7679
jumpToLocation(location, databaseUri);
7780
}
7881
}
79-
scroller.current.scrollIntoViewOnNextUpdate();
82+
scroller.current?.scrollIntoViewOnNextUpdate();
8083
return { row: nextRow, column: nextColumn };
8184
});
8285
},

0 commit comments

Comments
 (0)