@powersync/vue@0.3.0
·
91 commits
to main
since this release
Minor Changes
-
c7d2b53: [Potentially breaking change] The
useQueryhook results are now explicitly defined as readonly. These values should not be mutated.- Added the ability to limit re-renders by specifying a
rowComparatorfor query results. TheuseQueryhook will only emitdatachanges when the data has changed.
// The data here will maintain previous object references for unchanged items. const { data } = useQuery('SELECT * FROM lists WHERE name = ?', ['aname'], { rowComparator: { keyBy: (item) => item.id, compareBy: (item) => JSON.stringify(item) } });
- Added the ability to subscribe to an existing instance of a
WatchedQuery
<script setup> import { useWatchedQuerySubscription } from '@powersync/vue'; const listsQuery = powerSync .query({ sql: `SELECT * FROM lists` }) .differentialWatch(); const { data, isLoading, isFetching, error } = useWatchedQuerySubscription(listsQuery); </script> <template> <div v-if="isLoading">Loading...</div> <div v-else-if="isFetching">Updating results...</div> <div v-if="error">{{ error }}</div> <ul v-else> <li v-for="l in data" :key="l.id">{{ l.name }}</li> </ul> </template>
- Added the ability to limit re-renders by specifying a
-
c7d2b53: - [Internal] Updated implementation to use shared
WatchedQueryimplementation.