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

useApiQuery

@mineflow/client-react


@mineflow/client-react / useApiQuery

Function: useApiQuery()

function useApiQuery<T>(
queryKey: readonly unknown[],
fn: (client: MineflowClient) => Promise<T>,
options?: object): UseQueryResult<T>;

Defined in: client-react/src/hooks.ts:41

Типобезопасный дженерик-хук чтения под любой endpoint, которого ещё нет в concrete-наборе. Конкретный запрос вызывает caller через замыкание fn(client) и типизирует его против @mineflow/api-client — SDK даёт лишь механику (кэш TanStack Query + REST-клиент из контекста), не хардкодит формы DTO.

Type Parameters

Type Parameter
T

Parameters

ParameterTypeDescription
queryKeyreadonly unknown[]Ключ кэша TanStack Query (обычно из queryKeys).
fn(client: MineflowClient) => Promise<T>Замыкание (client) => Promise<T>, делающее сам REST-вызов.
options?{ enabled?: boolean; }enabled — гейт запуска (напр. не запускать при пустом id).
options.enabled?boolean-

Returns

UseQueryResult<T>

Стандартный UseQueryResult (data/isLoading/error/refetch/…).

Example

const q = useApiQuery(['eam', 'maintenance'], async (c) =>
unwrap(await c.GET('/api/v1/eam/maintenance', { params: { query: {} } })),
);