useApiQueryAll
@mineflow/client-react / useApiQueryAll
Function: useApiQueryAll()
function useApiQueryAll<T>(
queryKey: readonly unknown[],
fetchPage: (client: MineflowClient, cursor: string | null) => Promise<CursorPage<T>>,
options?: object): UseQueryResult<T[]>;
Defined in: client-react/src/hooks.ts:68
Как useApiQuery, но стягивает ВСЕ страницы курсорной пагинации в один массив
(collectAllPages). Нужен там, где UI обязан видеть полный набор, а серверный
предел страницы (limit ≤ 200, libs/common) молча обрезал бы одностраничный
запрос — напр. пикеры персонала/техники на участке с >200 единицами.
fetchPage(client, cursor) отдаёт { items, nextCursor }; хук сам гоняет
курсор до конца. maxPages — предохранитель от битого nextCursor (см. core).
Type Parameters
| Type Parameter |
|---|
T |
Parameters
| Parameter | Type | Description |
|---|---|---|
queryKey | readonly unknown[] | Ключ кэша TanStack Query. |
fetchPage | (client: MineflowClient, cursor: string | null) => Promise<CursorPage<T>> | Замыкание загрузки одной страницы: (client, cursor) => CursorPage<T>. |
options? | { enabled?: boolean; maxPages?: number; } | enabled — гейт запуска; maxPages — лимит числа страниц. |
options.enabled? | boolean | - |
options.maxPages? | number | - |
Returns
UseQueryResult<T[]>
UseQueryResult<T[]> — все элементы всех страниц одним массивом.