fix(fl_query_hooks): query/mutation reset to initial memoized values on hot reload

This commit is contained in:
Kingkor Roy Tirtho
2023-02-28 22:21:20 +06:00
parent f2a23b085c
commit cf2550a290
3 changed files with 17 additions and 17 deletions
@@ -22,8 +22,8 @@ InfiniteQuery<DataType, ErrorType, PageType>
}) {
final rebuild = useUpdater();
final client = useQueryClient();
final query = useMemoized(() {
return client.createInfiniteQuery<DataType, ErrorType, PageType>(
final query = useMemoized<InfiniteQuery<DataType, ErrorType, PageType>>(() {
final query = client.createInfiniteQuery<DataType, ErrorType, PageType>(
queryKey,
queryFn,
initialParam: initialPage,
@@ -32,21 +32,19 @@ InfiniteQuery<DataType, ErrorType, PageType>
refreshConfig: refreshConfig,
retryConfig: retryConfig,
);
}, [client, queryKey]);
return query;
}, [queryKey]);
useEffect(() {
return query.addListener(rebuild);
}, [query]);
useEffect(
() {
useEffect(() {
if (enabled) {
query.fetch();
}
return null;
},
[enabled],
);
}, [enabled]);
useEffect(() {
query.updateQueryFn(queryFn);
@@ -19,13 +19,14 @@ Mutation<DataType, ErrorType, VariablesType>
}) {
final rebuild = useUpdater();
final client = useQueryClient();
final mutation = useMemoized(() {
final mutation =
useMemoized<Mutation<DataType, ErrorType, VariablesType>>(() {
return client.createMutation<DataType, ErrorType, VariablesType>(
mutationKey,
mutationFn,
retryConfig: retryConfig,
);
}, [client, mutationKey]);
}, [mutationKey]);
final recoveryData = useState<RecoveryType?>(null);
@@ -21,8 +21,8 @@ Query<DataType, ErrorType> useQuery<DataType, ErrorType>(
}) {
final rebuild = useUpdater();
final client = useQueryClient();
final query = useMemoized(() {
return client.createQuery<DataType, ErrorType>(
final query = useMemoized<Query<DataType, ErrorType>>(() {
final query = client.createQuery<DataType, ErrorType>(
queryKey,
queryFn,
initial: initial,
@@ -30,7 +30,8 @@ Query<DataType, ErrorType> useQuery<DataType, ErrorType>(
refreshConfig: refreshConfig,
retryConfig: retryConfig,
);
}, [client, queryKey]);
return query;
}, [queryKey]);
useEffect(() {
return query.addListener(rebuild);