A lot of refectoring
This commit is contained in:
@@ -1,8 +1,7 @@
|
||||
|
||||
import React, { useEffect } from 'react';
|
||||
|
||||
import { range } from '../utils/range';
|
||||
import { useGridlerStore } from './Store';
|
||||
import { useGridlerStore } from './GridlerStore';
|
||||
|
||||
//The computer component does not need to be recalculated on every render, so we use React.memo to prevent unnecessary re-renders.
|
||||
export const Pager = React.memo(() => {
|
||||
@@ -14,7 +13,7 @@ export const Pager = React.memo(() => {
|
||||
pageSize,
|
||||
loadPage,
|
||||
_loadingList,
|
||||
hasLocalData
|
||||
hasLocalData,
|
||||
] = useGridlerStore((s) => [
|
||||
s.setState,
|
||||
s._glideref,
|
||||
@@ -24,17 +23,21 @@ export const Pager = React.memo(() => {
|
||||
s.loadPage,
|
||||
|
||||
s._loadingList,
|
||||
s.hasLocalData
|
||||
s.hasLocalData,
|
||||
]);
|
||||
|
||||
useEffect(() => {
|
||||
if (!glideref) {return;}
|
||||
if (!glideref) {
|
||||
return;
|
||||
}
|
||||
setState('mounted', true);
|
||||
}, [setState]);
|
||||
|
||||
//Maybe move this into a computer component.
|
||||
useEffect(() => {
|
||||
if (!glideref) {return;}
|
||||
if (!glideref) {
|
||||
return;
|
||||
}
|
||||
if (hasLocalData) {
|
||||
//using local data, no need to load pages
|
||||
return;
|
||||
@@ -56,7 +59,7 @@ export const Pager = React.memo(() => {
|
||||
for (const page of range(firstPage, lastPage + 1, 1)) {
|
||||
loadPage(page);
|
||||
}
|
||||
}, [loadPage, pageSize, visiblePages, glideref, _loadingList,hasLocalData]);
|
||||
}, [loadPage, pageSize, visiblePages, glideref, _loadingList, hasLocalData]);
|
||||
|
||||
return <></>;
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user