Convert dataRows to a useMemo

This commit is contained in:
Robert
2023-06-22 16:38:37 +01:00
parent 3957d356f0
commit ecfa0ff5b9

View File

@@ -1,5 +1,5 @@
import * as React from "react"; import * as React from "react";
import { useCallback, useEffect, useRef, useState } from "react"; import { useCallback, useEffect, useMemo, useRef, useState } from "react";
import { import {
className, className,
emptyQueryResultsMessage, emptyQueryResultsMessage,
@@ -116,17 +116,20 @@ export function RawTable({
}; };
}, [handleNavigationEvent]); }, [handleNavigationEvent]);
let dataRows = resultSet.rows; const [dataRows, numTruncatedResults] = useMemo(() => {
if (resultSet.rows.length <= RAW_RESULTS_LIMIT) {
return [resultSet.rows, 0];
}
return [
resultSet.rows.slice(0, RAW_RESULTS_LIMIT),
resultSet.rows.length - RAW_RESULTS_LIMIT,
];
}, [resultSet]);
if (dataRows.length === 0) { if (dataRows.length === 0) {
return emptyQueryResultsMessage(); return emptyQueryResultsMessage();
} }
let numTruncatedResults = 0;
if (dataRows.length > RAW_RESULTS_LIMIT) {
numTruncatedResults = dataRows.length - RAW_RESULTS_LIMIT;
dataRows = dataRows.slice(0, RAW_RESULTS_LIMIT);
}
const tableRows = dataRows.map((row: ResultRow, rowIndex: number) => ( const tableRows = dataRows.map((row: ResultRow, rowIndex: number) => (
<RawTableRow <RawTableRow
key={rowIndex} key={rowIndex}