API reference › @evolu/vue › useQueries
function useQueries<
S extends Readonly<
Record<string, Readonly<Record<string, AnyStandardSchemaV1>>>
>,
Q extends Queries<S>,
OQ extends Queries<S>,
>(
queries: [...Q[]],
__namedParameters?: UseQueriesOptions<OQ>,
): [...QueriesToQueryRowsRef<Q>[], ...QueriesToQueryRowsRef<OQ>[]];
Defined in: useQueries.ts:53
The same as useQuery, but for many queries. waitForRows takes
the rows it returns, such as await waitForRows(...rows).
Example
import {
assertType,
createQueryBuilder,
testEvoluSchema,
type QueryRows,
} from "@evolu/common";
import { useQueries } from "@evolu/vue";
import type { Ref } from "vue";
const createQuery = createQueryBuilder(testEvoluSchema);
const allTodos = createQuery((db) => db.selectFrom("todo").selectAll());
const allProjects = createQuery((db) => db.selectFrom("project").selectAll());
// Call composables in component setup. The rows of the once queries come
// last.
const useTodosAndProjects = () =>
useQueries([allTodos], { once: [allProjects] });
assertType<
ReturnType<typeof useTodosAndProjects>,
[
Readonly<Ref<QueryRows<typeof allTodos.Row>>>,
Readonly<Ref<QueryRows<typeof allProjects.Row>>>,
]
>();