--- id: queryOptions title: 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** ```ts const { queryKey } = queryOptions({ queryKey: ['key'], queryFn: () => Promise.resolve(5), // ^? Promise }) const queryClient = new QueryClient() const data = queryClient.getQueryData(queryKey) // ^? number | undefined ``` ## Param The query options to tag with the type from `queryFn`. ## queryOptions(options) ```ts function queryOptions( options, ): UndefinedInitialDataOptions & object ``` Allows to share and re-use query options in a type-safe way. The `queryKey` will be tagged with the type from `queryFn`. **Example** ```ts const { queryKey } = queryOptions({ queryKey: ['key'], queryFn: () => Promise.resolve(5), // ^? Promise }) const queryClient = new QueryClient() const data = queryClient.getQueryData(queryKey) // ^? number | undefined ``` ### Type Parameters • **TQueryFnData** = `unknown` • **TError** = `Error` • **TData** = `TQueryFnData` • **TQueryKey** _extends_ `QueryKey` = `QueryKey` ### Parameters • **options**: [`UndefinedInitialDataOptions`](UndefinedInitialDataOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`\> The query options to tag with the type from `queryFn`. ### Returns [`UndefinedInitialDataOptions`](UndefinedInitialDataOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`\> & `object` The tagged query options. ### Defined in [query-options.ts:52](https://github.com/TanStack/query/blob/27861961bbb36e9bc25fcd45cff21b5645f02f9b/packages/angular-query-experimental/src/query-options.ts#L52) ## queryOptions(options) ```ts function queryOptions( options, ): DefinedInitialDataOptions & object ``` Allows to share and re-use query options in a type-safe way. The `queryKey` will be tagged with the type from `queryFn`. **Example** ```ts const { queryKey } = queryOptions({ queryKey: ['key'], queryFn: () => Promise.resolve(5), // ^? Promise }) const queryClient = new QueryClient() const data = queryClient.getQueryData(queryKey) // ^? number | undefined ``` ### Type Parameters • **TQueryFnData** = `unknown` • **TError** = `Error` • **TData** = `TQueryFnData` • **TQueryKey** _extends_ `QueryKey` = `QueryKey` ### Parameters • **options**: [`DefinedInitialDataOptions`](DefinedInitialDataOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`\> The query options to tag with the type from `queryFn`. ### Returns [`DefinedInitialDataOptions`](DefinedInitialDataOptions.md)\<`TQueryFnData`, `TError`, `TData`, `TQueryKey`\> & `object` The tagged query options. ### Defined in [query-options.ts:85](https://github.com/TanStack/query/blob/27861961bbb36e9bc25fcd45cff21b5645f02f9b/packages/angular-query-experimental/src/query-options.ts#L85)