- {paged.map((row, i) => (
+ {shown.map((row, i) => (
(rows: T[], view: string): T[] {
+ const [seen, setSeen] = useState(view);
+ const [limit, setLimit] = useState(FIRST_ROWS);
+ if (seen !== view) {
+ setSeen(view);
+ setLimit(FIRST_ROWS);
+ }
+ const more = rows.length > limit;
+ useEffect(() => {
+ if (more) startTransition(() => setLimit(limit + STEP_ROWS));
+ }, [more, limit]);
+ return more ? rows.slice(0, limit) : rows;
+}