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 });