API Documentation / @pinia/colada / useQuery
Function: useQuery() 
Ensures and return a shared query state based on the key option.
Param 
The options of the query
Param 
a getter or ref that returns the parameters for the _options
Call Signature 
function useQuery<TData, TError, TDataInitial>(options): UseQueryReturn<TData, TError, TDataInitial>;Ensures and return a shared query state based on the key option.
Type Parameters 
TData 
TData
TError 
TError = { custom: Error; }
TDataInitial 
TDataInitial = undefined
Parameters 
options 
The options of the query
UseQueryOptions<TData, TError, TDataInitial> | () => DefineQueryOptions<TData, TError, TDataInitial>
Returns 
UseQueryReturn<TData, TError, TDataInitial>
Example 
const { state } = useQuery({
  key: ['documents'],
  query: () => getDocuments(),
})Call Signature 
function useQuery<Params, TData, TError, TDataInitial>(setupOptions, paramsGetter): UseQueryReturn<TData, TError, TDataInitial>;useQuery for dynamic typed query keys. Requires options defined with defineQueryOptions.
Type Parameters 
Params 
Params
TData 
TData
TError 
TError
TDataInitial 
TDataInitial
Parameters 
setupOptions 
(params) => DefineQueryOptions<TData, TError, TDataInitial>
options defined with defineQueryOptions
paramsGetter 
MaybeRefOrGetter<NoInfer<Params>>
a getter or ref that returns the parameters for the setupOptions
Returns 
UseQueryReturn<TData, TError, TDataInitial>
Example 
import { defineQueryOptions, useQuery } from '@pinia/colada'
const documentDetailsQuery = defineQueryOptions((id: number ) => ({
  key: ['documents', id],
  query: () => fetchDocument(id),
}))
useQuery(documentDetailsQuery, 4)
useQuery(documentDetailsQuery, () => route.params.id)
useQuery(documentDetailsQuery, () => props.id)