From 3e7577c98482b8a907461f99864b2cd4745e4244 Mon Sep 17 00:00:00 2001 From: Robert Date: Wed, 16 Aug 2023 14:28:04 +0100 Subject: [PATCH] Use useMemo for callback passed to AlertTableDropdownIndicatorCell.onClick in AlertTablePathRow --- .../ql-vscode/src/view/results/AlertTablePathRow.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx b/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx index 3aaf3b805..4ca71a8e7 100644 --- a/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx +++ b/extensions/ql-vscode/src/view/results/AlertTablePathRow.tsx @@ -5,6 +5,7 @@ import { selectableZebraStripe } from "./result-table-utils"; import { ScrollIntoViewHelper } from "./scroll-into-view-helper"; import { AlertTablePathNodeRow } from "./AlertTablePathNodeRow"; import { AlertTableDropdownIndicatorCell } from "./AlertTableDropdownIndicatorCell"; +import { useMemo } from "react"; interface Props { path: Sarif.ThreadFlow; @@ -35,7 +36,14 @@ export function AlertTablePathRow(props: Props) { scroller, } = props; - const pathKey = { resultIndex, pathIndex }; + const pathKey = useMemo( + () => ({ resultIndex, pathIndex }), + [pathIndex, resultIndex], + ); + const handleDropdownClick = useMemo( + () => toggler([pathKey]), + [pathKey, toggler], + ); const isPathSpecificallySelected = Keys.equalsNotUndefined( pathKey, @@ -51,7 +59,7 @@ export function AlertTablePathRow(props: Props) { Path