Documentation
Framework
Version

queryOptions

Function: queryOptions()

Allows to share and re-use query options in a type-safe way.

The queryKey will be tagged with the type from queryFn.

Example

const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined
const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined

Param

The query options to tag with the type from queryFn.

Call Signature

function queryOptions<TQueryFnData, TError, TData, TQueryKey>(
  options,
): Omit<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn'> &
  object &
  object
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(
  options,
): Omit<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, 'queryFn'> &
  object &
  object

Defined in: query-options.ts:76

Allows to share and re-use query options in a type-safe way.

The queryKey will be tagged with the type from queryFn.

Example

const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined
const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined

Type Parameters

TQueryFnData = unknown

TError = Error

TData = TQueryFnData

TQueryKey extends readonly unknown[] = readonly unknown[]

Parameters

options

DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>

The query options to tag with the type from queryFn.

Returns

Omit<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryFn"> & object & object

The tagged query options.

The tagged query options.

Param

The query options to tag with the type from queryFn.

Call Signature

function queryOptions<TQueryFnData, TError, TData, TQueryKey>(
  options,
): OmitKeyof<
  CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
  'queryFn'
> &
  object &
  object
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(
  options,
): OmitKeyof<
  CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>,
  'queryFn'
> &
  object &
  object

Defined in: query-options.ts:108

Allows to share and re-use query options in a type-safe way.

The queryKey will be tagged with the type from queryFn.

Example

const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined
const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined

Type Parameters

TQueryFnData = unknown

TError = Error

TData = TQueryFnData

TQueryKey extends readonly unknown[] = readonly unknown[]

Parameters

options

UnusedSkipTokenOptions<TQueryFnData, TError, TData, TQueryKey>

The query options to tag with the type from queryFn.

Returns

OmitKeyof<CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey>, "queryFn"> & object & object

The tagged query options.

The tagged query options.

Param

The query options to tag with the type from queryFn.

Call Signature

function queryOptions<TQueryFnData, TError, TData, TQueryKey>(
  options,
): CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & object & object
function queryOptions<TQueryFnData, TError, TData, TQueryKey>(
  options,
): CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & object & object

Defined in: query-options.ts:140

Allows to share and re-use query options in a type-safe way.

The queryKey will be tagged with the type from queryFn.

Example

const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined
const { queryKey } = queryOptions({
  queryKey: ['key'],
  queryFn: () => Promise.resolve(5),
  //  ^?  Promise<number>
})

const queryClient = new QueryClient()
const data = queryClient.getQueryData(queryKey)
//    ^?  number | undefined

Type Parameters

TQueryFnData = unknown

TError = Error

TData = TQueryFnData

TQueryKey extends readonly unknown[] = readonly unknown[]

Parameters

options

UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>

The query options to tag with the type from queryFn.

Returns

CreateQueryOptions<TQueryFnData, TError, TData, TQueryKey> & object & object

The tagged query options.

The tagged query options.

Param

The query options to tag with the type from queryFn.