API reference@evolu/vue › useQuery

function useQuery<S, R>(
  query: Query<S, R>,
  options?: Partial<{
    once: boolean;
    promise: Promise<QueryRows<R>>;
  }>,
): Readonly<Ref<QueryRows<R>>>;

Defined in: useQuery.ts:37

Load and subscribe to the query, returning a ref that stays in sync with Evolu changes.

Example

// Get all rows.
const rows = useQuery(allTodos);

// Get rows for a specific todo (the first row can be null).
const rows = useQuery(todoById(1));

// Get all rows, but without subscribing to changes.
const rows = useQuery(allTodos, { once: true });

// Prefetch rows.
const allTodos = evolu.createQuery((db) => db.selectFrom("todo").selectAll());
const allTodosPromise = evolu.loadQuery(allTodos);

// Use prefetched rows.
const rows = useQuery(allTodos, { promise: allTodosPromise });