[API reference](https://evolu.dev/docs/api-reference) › [@evolu/vue](https://evolu.dev/docs/api-reference/vue) › useDeviceQuery

```ts
function useDeviceQuery<
  S extends Readonly<
    Record<string, Readonly<Record<string, AnyStandardSchemaV1>>>
  >,
  R extends Row,
>(
  query: Query<S, R>,
  __namedParameters?: UseQueryOptions,
): Readonly<Ref<QueryRows<R>>>;
```

Defined in: [useQuery.ts:100](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/vue/src/useQuery.ts#L100)

The same as [useQuery](https://evolu.dev/docs/api-reference/vue/functions/useQuery), for a query of the app's device tables, read
from [useDeviceEvolu](https://evolu.dev/docs/api-reference/vue/functions/useDeviceEvolu), so [waitForRows](https://evolu.dev/docs/api-reference/vue/functions/waitForRows) takes its rows too.
[createEvoluBinding](https://evolu.dev/docs/api-reference/vue/functions/createEvoluBinding) returns it typed with the app's device schema.