# Function: useQuery()

```ts
function useQuery<C, I>(spaceId, query): QueryState<ResultFor<C, I>>;
```

Defined in: [packages/react/src/use-query.ts:17](https://github.com/leifriksheim/minca/blob/main/react/src/use-query.ts#L17)

Runs a query and keeps it current as records change, locally or by sync.
The query is plain data, compared by value, so writing it inline is fine.
Name the collection by its definition and the result comes back typed.

## Type Parameters

| Type Parameter | Default type |
| ------ | ------ |
| <a id="type-parameter-c"></a> `C` *extends* [`CollectionRef`](https://minca.dev/api/core/type-aliases/CollectionRef.md) | - |
| <a id="type-parameter-i"></a> `I` *extends* \| `Readonly`\<`Record`\<`string`, [`Include`](https://minca.dev/api/core/interfaces/Include.md)\>\> \| `undefined` | `undefined` |

## Parameters

| Parameter | Type |
| ------ | ------ |
| `spaceId` | `string` |
| `query` | [`Query`](https://minca.dev/api/core/interfaces/Query.md)\<`C`, `I`\> |

## Returns

[`QueryState`](https://minca.dev/api/react/interfaces/QueryState.md)\<[`ResultFor`](https://minca.dev/api/core/type-aliases/ResultFor.md)\<`C`, `I`\>\>
