usePagingController<PageKeyType, ItemType> function
PagingController<PageKeyType, ItemType>
usePagingController<PageKeyType, ItemType>({
- required PageKeyType firstPageKey,
- int? invisibleItemsThreshold,
- List<
Object?> ? keys, - FutureOr<
void> onPageRequest(- PageKeyType pageKey,
- PagingController<
PageKeyType, ItemType> pagingController
Implementation
PagingController<PageKeyType, ItemType>
usePagingController<PageKeyType, ItemType>({
required final PageKeyType firstPageKey,
final int? invisibleItemsThreshold,
List<Object?>? keys,
FutureOr<void> Function(PageKeyType pageKey,
PagingController<PageKeyType, ItemType> pagingController)?
onPageRequest,
}) {
final controller = use(
_PagingControllerHook<PageKeyType, ItemType>(
firstPageKey: firstPageKey,
invisibleItemsThreshold: invisibleItemsThreshold,
keys: keys,
),
);
useEffect(() {
listener(PageKeyType pageKey) => onPageRequest?.call(pageKey, controller);
controller.addPageRequestListener(listener);
return () => controller.removePageRequestListener(listener);
}, [onPageRequest]);
return controller;
}