From 6180ab3e2578c92eb454ce3f0eda9212dd464cdd Mon Sep 17 00:00:00 2001 From: Christiaan Landman Date: Mon, 21 Oct 2024 14:04:34 +0200 Subject: [PATCH] fix: `useQuery()`'s' `isFetching` value was stuck as true when used in react-native environment. --- .changeset/dirty-chefs-lick.md | 5 +++++ packages/react/src/hooks/useQuery.ts | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 .changeset/dirty-chefs-lick.md 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 () => {