useQueryOnClient<TParsed> function
QueryHookResult<TParsed>
useQueryOnClient<TParsed>(
- GraphQLClient client,
- QueryOptions<
TParsed> options
Implementation
QueryHookResult<TParsed> useQueryOnClient<TParsed>(
GraphQLClient client,
QueryOptions<TParsed> options,
) {
final watchQueryOptions = useMemoized(
() => options.asWatchQueryOptions(),
[options],
);
final query = useWatchQueryOnClient(client, watchQueryOptions);
final snapshot = useStream(
query.stream,
initialData: query.latestResult,
);
useEffect(() {
final cleanup = query.onData(
QueryCallbackHandler(options: options).callbacks,
removeAfterInvocation: false,
);
return cleanup;
}, [options, query]);
return QueryHookResult(
result: snapshot.data!,
refetch: query.refetch,
fetchMore: query.fetchMore,
);
}