periodic staleData refetch functionality
+Query initialData support +Query manual update support +Query.reset support
This commit is contained in:
@@ -6,10 +6,24 @@ class QueryBuilder<T> extends StatefulWidget {
|
||||
final Widget Function(BuildContext, Query<T>) builder;
|
||||
final QueryTaskFunction<T> task;
|
||||
final String queryKey;
|
||||
final Duration? staleTime;
|
||||
final int retries;
|
||||
final T? initialData;
|
||||
final Duration retryDelay;
|
||||
|
||||
final QueryListener<T>? onData;
|
||||
final QueryListener<dynamic>? onError;
|
||||
|
||||
const QueryBuilder({
|
||||
required this.builder,
|
||||
required this.task,
|
||||
required this.queryKey,
|
||||
this.initialData,
|
||||
this.staleTime,
|
||||
this.retryDelay = const Duration(milliseconds: 200),
|
||||
this.retries = 3,
|
||||
this.onData,
|
||||
this.onError,
|
||||
Key? key,
|
||||
}) : super(key: key);
|
||||
|
||||
@@ -25,7 +39,12 @@ class _QueryBuilderState<T> extends State<QueryBuilder<T>> {
|
||||
await QueryBowl.of(context).fetchQuery(Query<T>(
|
||||
queryKey: widget.queryKey,
|
||||
task: widget.task,
|
||||
staleTime: QueryBowl.of(context).staleTime,
|
||||
staleTime: widget.staleTime ?? QueryBowl.of(context).staleTime,
|
||||
retries: widget.retries,
|
||||
initialData: widget.initialData,
|
||||
retryDelay: widget.retryDelay,
|
||||
onData: widget.onData,
|
||||
onError: widget.onError,
|
||||
));
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user