useApiQuery
@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
| Parameter | Type | Description |
|---|---|---|
queryKey | readonly 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: {} } })),
);