diff --git a/.changeset/dirty-chefs-lick.md b/.changeset/dirty-chefs-lick.md new file mode 100644 index 000000000..70db3e20e --- /dev/null +++ b/.changeset/dirty-chefs-lick.md @@ -0,0 +1,5 @@ +--- +'@powersync/react': patch +--- + +Fixed `useQuery()`'s' `isFetching` value staying true when used in react-native environment. diff --git a/packages/react/src/hooks/useQuery.ts b/packages/react/src/hooks/useQuery.ts index 7e47ff91d..257450604 100644 --- a/packages/react/src/hooks/useQuery.ts +++ b/packages/react/src/hooks/useQuery.ts @@ -78,21 +78,21 @@ export const useQuery = ( ); const handleResult = (result: T[]) => { + previousQueryRef.current = { sqlStatement, memoizedParams }; setData(result); setIsLoading(false); setIsFetching(false); setError(undefined); - previousQueryRef.current = { sqlStatement, memoizedParams }; }; const handleError = (e: Error) => { + previousQueryRef.current = { sqlStatement, memoizedParams }; setData([]); setIsLoading(false); setIsFetching(false); const wrappedError = new Error('PowerSync failed to fetch data: ' + e.message); wrappedError.cause = e; setError(wrappedError); - previousQueryRef.current = { sqlStatement, memoizedParams }; }; const fetchData = async () => {