API Documentation / @pinia/colada / defineQueryOptions
Function: defineQueryOptions()
Define type-safe query options. Can be static or dynamic. Define the arguments based on what's needed on the query and the key. Use an object if you need multiple properties.
Param
The query options or a function that returns the query options.
Example
import { defineQueryOptions } from '@pinia/colada'
const documentDetailsQuery = defineQueryOptions((id: number ) => ({
key: ['documents', id],
query: () => fetchDocument(id),
}))
queryCache.getQueryData(documentDetailsQuery(4).key) // typed
@NO_SIDE_EFFECTS
Call Signature
function defineQueryOptions<Params, TData, TError, TDataInitial>(setupOptions): (params) => DefineQueryOptions<TData, TError, TDataInitial>;
Define dynamic query options by passing a function that accepts an arbitrary parameter and returns the query options. Enables type-safe query keys. Must be passed to useQuery alongside a getter for the params.
Type Parameters
Params
Params
TData
TData
TError
TError
TDataInitial
TDataInitial
= undefined
| TData
Parameters
setupOptions
(params
) => DefineQueryOptions
<TData
, TError
, TDataInitial
>
A function that returns the query options.
Returns
(params): DefineQueryOptions<TData, TError, TDataInitial>;
Parameters
params
Params
Returns
DefineQueryOptions
<TData
, TError
, TDataInitial
>
Param
The query options or a function that returns the query options.
Example
import { defineQueryOptions } from '@pinia/colada'
const documentDetailsQuery = defineQueryOptions((id: number ) => ({
key: ['documents', id],
query: () => fetchDocument(id),
}))
queryCache.getQueryData(documentDetailsQuery(4).key) // typed
@NO_SIDE_EFFECTS
Call Signature
function defineQueryOptions<TData, TError, TDataInitial>(options): DefineQueryOptions<TData, TError, TDataInitial>;
Define static query options that are type safe with queryCache.getQueryData()
. Can be passed directly to useQuery.
Type Parameters
TData
TData
TError
TError
TDataInitial
TDataInitial
= undefined
| TData
Parameters
options
DefineQueryOptions
<TData
, TError
, TDataInitial
>
The query options.
Returns
DefineQueryOptions
<TData
, TError
, TDataInitial
>
Param
The query options or a function that returns the query options.
Example
import { defineQueryOptions } from '@pinia/colada'
const documentDetailsQuery = defineQueryOptions((id: number ) => ({
key: ['documents', id],
query: () => fetchDocument(id),
}))
queryCache.getQueryData(documentDetailsQuery(4).key) // typed
@NO_SIDE_EFFECTS