Перейти к основному содержимому

useApiQueryAll

@mineflow/client-react


@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

ParameterTypeDescription
queryKeyreadonly 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[]> — все элементы всех страниц одним массивом.