Skip to content

API Documentation / @pinia/colada / DefineQueryOptionsTagged

Interface: DefineQueryOptionsTagged<TData, TError, TDataInitial>

Tagged version of DefineQueryOptions that includes a key with data type information.

Extends

Type Parameters

TData

TData = unknown

TError

TError = ErrorDefault

TDataInitial

TDataInitial extends TData | undefined = undefined

Properties

autoRefetch?

ts
optional autoRefetch: boolean;

Whether to enable auto refresh by default.

Default

ts
false

Inherited from

ts
DefineQueryOptions.autoRefetch

delay?

ts
optional delay: number | false;

Delay in milliseconds to wait before letting the asyncStatus become 'loading'. Set to false or 0 to disable. Requires the PiniaColadaDelay plugin.

Default

ts
200

Inherited from

ts
DefineQueryOptions.delay

enabled?

ts
optional enabled: boolean;

Whether the query should be enabled or not. If false, the query will not be executed until refetch() or refresh() is called. If it becomes true, the query will be refreshed.

Inherited from

ts
DefineQueryOptions.enabled

gcTime?

ts
optional gcTime: number | false;

Time in ms after which, once the data is no longer being used, it will be garbage collected to free resources. Set to false to disable garbage collection.

Default

ts
300_000 (5 minutes)

Inherited from

ts
DefineQueryOptions.gcTime

initialData?

ts
optional initialData: _IsMaybeRefOrGetter<() => TDataInitial> extends true ? undefined | _UnwrapMaybeRefOrGetter<() => TDataInitial> : undefined | () => TDataInitial & () => TDataInitial;

The data which is initially set to the query while the query is loading for the first time. Note: unlike with placeholderData, setting the initial data changes the state of the query (it will be set to success).

See

placeholderData

Inherited from

ts
DefineQueryOptions.initialData

key

ts
key: EntryKeyTagged<TData, TError, TDataInitial>;

The key used to identify the query. Array of primitives without reactive values or a reactive array or getter. It should be treaded as an array of dependencies of your queries, e.g. if you use the route.params.id property, it should also be part of the key:

ts
import { useRoute } from 'vue-router'
import { useQuery } from '@pinia/colada'

const route = useRoute()
const { data } = useQuery({
  // pass a getter function (or computed, ref, etc.) to ensure reactivity
  key: () => ['user', route.params.id],
  query: () => fetchUser(route.params.id),
})

Overrides

ts
DefineQueryOptions.key

placeholderData?

ts
optional placeholderData: (_IsMaybeRefOrGetter<NonNullable<NoInfer<TDataInitial> | NoInfer<TData> | (<T extends TData>(previousData: T | undefined) => NoInfer<TDataInitial> | NoInfer<TData> | undefined) | undefined>> extends true ? _UnwrapMaybeRefOrGetter<...> | ... 2 more ... | undefined : NoInfer<TDataInitial> | ... 2 more ... | undefined)...;

A placeholder data that is initially shown while the query is loading for the first time. This will also show the status as success until the query finishes loading (no matter the outcome of the query). Note: unlike with initialData, the placeholder does not change the cache state.

See

initialData

Inherited from

ts
DefineQueryOptions.placeholderData

query()

ts
query: (context) => Promise<TData>;

The function that will be called to fetch the data. It must be async.

Parameters

context

UseQueryFnContext

Returns

Promise<TData>

Inherited from

ts
DefineQueryOptions.query

refetchOnMount?

ts
optional refetchOnMount: RefetchOnControl;

Whether to refetch the query when the component is mounted.

Default

ts
true

Inherited from

ts
DefineQueryOptions.refetchOnMount

refetchOnReconnect?

ts
optional refetchOnReconnect: RefetchOnControl;

Whether to refetch the query when the network reconnects.

Default

ts
true

Inherited from

ts
DefineQueryOptions.refetchOnReconnect

refetchOnWindowFocus?

ts
optional refetchOnWindowFocus: RefetchOnControl;

Whether to refetch the query when the window regains focus.

Default

ts
true

Inherited from

ts
DefineQueryOptions.refetchOnWindowFocus

retry?

ts
optional retry: 
  | number
  | RetryOptions
  | (failureCount, error) => boolean;

Options for the retries of this query added by @pinia/colada-plugin-retry.

Inherited from

ts
DefineQueryOptions.retry

staleTime?

ts
optional staleTime: number;

Time in ms after which the data is considered stale and will be refreshed on next read.

Default

ts
5000 (5 seconds)

Inherited from

ts
DefineQueryOptions.staleTime

Released under the MIT License.