Skip to main content
Version: 2.x ๐Ÿšง

useQueries(...)

The Hook enables you to concurrently execute multiple asynchronous data fetching operations. For more detailed information, explore the TanStack useQueries(...) ๐ŸŒด documentation.

const queries = api.<service>.<operation>.useQueries(
options
)

Argumentsโ€‹

  1. options: UseQueriesOptions
    • Required, represents the options for queries, see useQueries(...) ๐ŸŒด documentation
    • options.queries: QueryOptions[]
      • Required array of Queries to be executed
      • parameters: { path, query, header } will be used for the request
      • queryKey: QueryKey will be used for the request instead of the parameters
        • queryKey and parameters are mutually exclusive
    • options.combine?: (result: UseQueriesResults) => TCombinedResult
      • Optional, a function to select the data from the mutation

Returnsโ€‹

Array with all the Queries. The order returned is the same as the input order.

Exampleโ€‹

import { createAPIClient } from './api'; // generated by OpenAPI Qraft

import { requestFn } from '@openapi-qraft/react';
import { QueryClient, QueryClientProvider } from '@tanstack/react-query';

const queryClient = new QueryClient();

const api = createAPIClient({
requestFn,
queryClient,
baseUrl: 'https://api.sandbox.monite.com/v1',
});

const useEntityQueries = () => {
/**
* Initiates two concurrent GET requests:
* ###
* GET /entities/3e3e-3e3e-3e3e
* x-monite-version: 2023-09-01
* ###
* GET /entities/5c5c-5c5c-5c5c
* x-monite-version: 2023-09-01
**/
return api.entities.getEntities.useQueries({
queries: [
{
parameters: {
header: {
'x-monite-version': '2023-09-01',
},
path: {
entity_id: '3e3e-3e3e-3e3e',
},
},
},
{
parameters: {
header: {
'x-monite-version': '2023-09-01',
},
path: {
entity_id: '5c5c-5c5c-5c5c',
},
},
},
],
combine: (results) => results.map((result) => result.data),
});
}

// const EntityComponentWithUseEntityQueries = () => { ... }

export default function() {
return (
<QueryClientProvider client={queryClient}>
{/*<EntityComponentWithUseEntityQueries />*/}
</QueryClientProvider>
);
}