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 rebuild = useUpdater();
final client = useQueryClient(); final client = useQueryClient();
final query = useMemoized(() { final query = useMemoized<InfiniteQuery<DataType, ErrorType, PageType>>(() {
return client.createInfiniteQuery<DataType, ErrorType, PageType>( final query = client.createInfiniteQuery<DataType, ErrorType, PageType>(
queryKey, queryKey,
queryFn, queryFn,
initialParam: initialPage, initialParam: initialPage,
@@ -32,21 +32,19 @@ InfiniteQuery<DataType, ErrorType, PageType>
refreshConfig: refreshConfig, refreshConfig: refreshConfig,
retryConfig: retryConfig, retryConfig: retryConfig,
); );
}, [client, queryKey]); return query;
}, [queryKey]);
useEffect(() { useEffect(() {
return query.addListener(rebuild); return query.addListener(rebuild);
}, [query]); }, [query]);
useEffect( useEffect(() {
() { if (enabled) {
if (enabled) { query.fetch();
query.fetch(); }
} return null;
return null; }, [enabled]);
},
[enabled],
);
useEffect(() { useEffect(() {
query.updateQueryFn(queryFn); query.updateQueryFn(queryFn);
@@ -19,13 +19,14 @@ Mutation<DataType, ErrorType, VariablesType>
}) { }) {
final rebuild = useUpdater(); final rebuild = useUpdater();
final client = useQueryClient(); final client = useQueryClient();
final mutation = useMemoized(() { final mutation =
useMemoized<Mutation<DataType, ErrorType, VariablesType>>(() {
return client.createMutation<DataType, ErrorType, VariablesType>( return client.createMutation<DataType, ErrorType, VariablesType>(
mutationKey, mutationKey,
mutationFn, mutationFn,
retryConfig: retryConfig, retryConfig: retryConfig,
); );
}, [client, mutationKey]); }, [mutationKey]);
final recoveryData = useState<RecoveryType?>(null); final recoveryData = useState<RecoveryType?>(null);
@@ -21,8 +21,8 @@ Query<DataType, ErrorType> useQuery<DataType, ErrorType>(
}) { }) {
final rebuild = useUpdater(); final rebuild = useUpdater();
final client = useQueryClient(); final client = useQueryClient();
final query = useMemoized(() { final query = useMemoized<Query<DataType, ErrorType>>(() {
return client.createQuery<DataType, ErrorType>( final query = client.createQuery<DataType, ErrorType>(
queryKey, queryKey,
queryFn, queryFn,
initial: initial, initial: initial,
@@ -30,7 +30,8 @@ Query<DataType, ErrorType> useQuery<DataType, ErrorType>(
refreshConfig: refreshConfig, refreshConfig: refreshConfig,
retryConfig: retryConfig, retryConfig: retryConfig,
); );
}, [client, queryKey]); return query;
}, [queryKey]);
useEffect(() { useEffect(() {
return query.addListener(rebuild); return query.addListener(rebuild);