From e6495be902c841fb49747899b3deeca6f482dfb7 Mon Sep 17 00:00:00 2001 From: Michel Weststrate Date: Tue, 8 Jun 2021 04:42:44 -0700 Subject: [PATCH] Fix NPE in DataTable Summary: Fixed linked NPE. Couldn't find a clear reproduction, Reviewed By: passy Differential Revision: D28958704 fbshipit-source-id: e09830fbad08bf035c54049451de7f52485cb9dc --- desktop/flipper-plugin/src/ui/data-table/DataTable.tsx | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx b/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx index 168c3a8a9..cfe740f65 100644 --- a/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx +++ b/desktop/flipper-plugin/src/ui/data-table/DataTable.tsx @@ -238,7 +238,12 @@ export function DataTable( let handled = true; const shiftPressed = e.shiftKey; const outputSize = dataSource.view.size; - const windowSize = virtualizerRef.current!.virtualItems.length; + const windowSize = props.scrollable + ? virtualizerRef.current?.virtualItems.length ?? 0 + : dataSource.view.size; + if (!windowSize) { + return; + } switch (e.key) { case 'ArrowUp': tableManager.selectItem( @@ -282,7 +287,7 @@ export function DataTable( e.preventDefault(); } }, - [dataSource, tableManager], + [dataSource, tableManager, props.scrollable], ); const [debouncedSetFilter] = useState(() => {