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

Defined in: [index.svelte.ts:182](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/svelte/src/lib/index.svelte.ts#L182)

What [queryState](https://evolu.dev/docs/api-reference/svelte/functions/queryState) returns, whose properties update when the query or its
rows change.

## Properties

<a id="loaded"></a>

### loaded

```ts
readonly loaded: Promise<QueryRows<R>>;
```

Defined in: [index.svelte.ts:206](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/svelte/src/lib/index.svelte.ts#L206)

The first load of the current query, which resolves with its rows or
rejects with the [UnknownError](https://evolu.dev/docs/api-reference/common/Error/variables/UnknownError) of SQLite failing it. When the query
changes, also before this load settles, it's the new query's first load. A
later refresh, also one SQLite fails, leaves it as it is, and `rows` keeps
the rows. A failure the app awaits reaches only the app, and one that
nothing awaits is reported as an unhandled rejection.

Without a query, it has resolved with no rows. It's pending until the
effect starts the load, so also during server rendering. It stays pending
for an instance whose database's deletion, or its AppOwner's removal,
disposed it, as React's `useQuery` stays suspended until the app replaces
the instance, and while a refused database answers no load, until the
instance's disposal resolves it with no rows. Observe
[EvoluErrorDep.evoluError](https://evolu.dev/docs/api-reference/common/local-first/Evolu/interfaces/EvoluErrorDep#evoluerror) to show the refusal.

---

<a id="rows"></a>

### rows

```ts
readonly rows: QueryRows<R>;
```

Defined in: [index.svelte.ts:188](https://github.com/evoluhq/evolu/blob/aa223771feea747ffb1b0f5f3271574455633e37/packages/svelte/src/lib/index.svelte.ts#L188)

The rows of the current query: empty until the query loads and while there
is no query. When SQLite fails the query, they keep the rows the query last
loaded, if any.