added paginated list/album list

This commit is contained in:
austinried
2022-03-15 16:00:06 +09:00
parent c45784bcbe
commit 76306f1558
6 changed files with 188 additions and 42 deletions

View File

@@ -28,7 +28,7 @@ export const useFetchList = <T>(fetchList: () => Promise<T[]>) => {
return { list, refreshing, refresh, reset }
}
export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => Promise<void>) => {
export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => void) => {
const [refreshing, setRefreshing] = useState(false)
const refresh = useCallback(async () => {
@@ -39,9 +39,9 @@ export const useFetchList2 = (fetchList: () => Promise<void>, resetList: () => P
useActiveServerRefresh(
useCallback(async () => {
await resetList()
await fetchList()
}, [fetchList, resetList]),
resetList()
await refresh()
}, [refresh, resetList]),
)
return { refreshing, refresh }
@@ -94,3 +94,32 @@ export const useFetchPaginatedList = <T>(
return { list, refreshing, refresh, reset, fetchNextPage }
}
export const useFetchPaginatedList2 = (fetchNextListPage: () => Promise<void>, resetList: () => void) => {
const [refreshing, setRefreshing] = useState(false)
const refresh = useCallback(async () => {
setRefreshing(true)
resetList()
await fetchNextListPage()
setRefreshing(false)
}, [fetchNextListPage, resetList])
useActiveServerRefresh(
useCallback(async () => {
await refresh()
}, [refresh]),
)
const fetchNextPage = useCallback(async () => {
setRefreshing(true)
await fetchNextListPage()
setRefreshing(false)
}, [fetchNextListPage])
return { refreshing, refresh, fetchNextPage }
}