API Reference

useConvexQuery

Reference for the primary read composable shared by nuxt-convex and vue-convex.

useConvexQuery subscribes to one Convex query and keeps the result updated.

Import

Nuxt
const { data } = useConvexQuery(api.tasks.list, { userId: 'demo' })
Vue
import { useConvexQuery } from 'vue-convex'

Signature

function useConvexQuery<Query extends FunctionReference<'query'>>(
  query: Query,
  args: MaybeRefOrGetter<FunctionArgs<Query> | 'skip'>,
  options?: {
    server?: boolean
  },
): {
  data: Readonly<Ref<FunctionReturnType<Query> | undefined>>
  error: Readonly<Ref<Error | null>>
  isPending: ComputedRef<boolean>
  isSkipped: ComputedRef<boolean>
  suspense: () => Promise<FunctionReturnType<Query> | undefined>
}

Parameters

ParameterTypeMeaning
queryFunctionReference<'query'>Generated Convex query reference
args`FunctionArgs'skip'`
options.serverbooleanOverrides the default SSR behavior for this query

Return value

FieldTypeMeaning
dataRef<T | undefined>Latest query result
errorRef<Error | null>Latest query error
isPendingComputedRef<boolean>true until the first result or error arrives
isSkippedComputedRef<boolean>true when args is "skip"
suspense() => Promise<T | undefined>Resolves when the first result is ready

Behavior

  • Uses ConvexHttpClient during SSR when server is enabled
  • Uses the realtime client on the client after hydration
  • Re-subscribes automatically when reactive arguments change
  • Resolves immediately when data is already available
Copyright © 2026