Skip to content

Commit 1193b95

Browse files
authored
fix: usePagination refresh (#10)
1 parent 4befa79 commit 1193b95

3 files changed

Lines changed: 20 additions & 18 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "@maskingtech/react-toolkit",
33
"private": false,
4-
"version": "0.0.3",
4+
"version": "0.0.4",
55
"type": "module",
66
"repository": {
77
"url": "https://github.com/MaskingTechnology/react-toolkit"

src/hooks/useLoadData.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,12 +37,11 @@ export function useLoadData<T>(getData: GetData<T>, deps: DependencyList = [])
3737

3838
}, [getData]);
3939

40-
const refresh = useCallback(() =>
40+
const refresh = () =>
4141
{
4242
setData(undefined);
4343
loadData();
44-
45-
}, [loadData]);
44+
};
4645

4746
useEffect(loadData, [getData, ...deps]);
4847

src/hooks/usePagination.ts

Lines changed: 17 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,10 @@ export function usePagination<T>(getData: GetData<T>, limit: number, deps: Depen
2323

2424
if (data.length < limit) setIsFinished(true);
2525

26-
if (cancelled) return;
26+
if (cancelled)
27+
{
28+
return;
29+
}
2730

2831
setIsLoading(false);
2932

@@ -41,37 +44,37 @@ export function usePagination<T>(getData: GetData<T>, limit: number, deps: Depen
4144

4245
}, [getData, limit, page]);
4346

44-
const resetData = useCallback(() =>
47+
const resetData = () =>
4548
{
4649
setData([]);
4750
setIsLoading(false);
4851
setIsFinished(false);
4952
setPage(0);
5053

51-
}, []);
54+
};
5255

53-
const next = useCallback(() =>
56+
const next = () =>
5457
{
5558
setPage(page => page + 1);
59+
};
5660

57-
}, []);
58-
59-
const previous = useCallback(() =>
61+
const previous = () =>
6062
{
6163
setPage(page => page - 1);
64+
};
6265

63-
}, []);
64-
65-
const reset = useCallback(() =>
66+
const reset = () =>
6667
{
68+
const mustLoad = page === 0;
69+
6770
resetData();
68-
loadData();
6971

70-
}, []);
72+
if (mustLoad) loadData();
73+
};
7174

72-
useEffect(resetData, [resetData, limit, ...deps]);
75+
useEffect(resetData, [limit, ...deps]);
7376

74-
useEffect(loadData, [getData, loadData, page]);
77+
useEffect(loadData, [loadData, page]);
7578

7679
return [data, isLoading, isFinished, next, previous, reset, setData] as const;
7780
}

0 commit comments

Comments
 (0)