refetch on external data change support added

This commit is contained in:
Kingkor Roy Tirtho
2022-07-05 09:28:43 +06:00
parent 5f8935a015
commit afa9933c91
5 changed files with 46 additions and 14 deletions
+15 -7
View File
@@ -75,13 +75,21 @@ Query<T, Outside> useQuery<T extends Object, Outside>({
} else if (oldExternalData != null &&
externalData != null &&
!isShallowEqual(oldExternalData, externalData)) {
QueryBowl.of(context).fetchQuery(
job,
externalData: externalData,
onData: onData,
onError: onError,
key: uKey,
);
if (job.refetchOnExternalDataChange ??
queryBowl.refetchOnExternalDataChange) {
QueryBowl.of(context).fetchQuery(
job,
externalData: externalData,
onData: onData,
onError: onError,
key: uKey,
);
} else {
QueryBowl.of(context)
.getQuery(job.queryKey)
?.setExternalData(externalData);
}
if (hasOnDataChanged) query.value.onDataListeners.remove(oldOnData);
if (hasOnErrorChanged) query.value.onErrorListeners.remove(oldOnError);
} else {