alpha stale_time & caching support

This commit is contained in:
Kingkor Roy Tirtho
2022-05-27 13:21:58 +06:00
parent 64c852fddc
commit 4eadc99d15
3 changed files with 36 additions and 9 deletions
+8 -5
View File
@@ -18,19 +18,22 @@ class QueryBuilder<T> extends StatefulWidget {
}
class _QueryBuilderState<T> extends State<QueryBuilder<T>> {
late Query<T> query;
@override
void initState() {
super.initState();
query = Query<T>(queryKey: widget.queryKey, task: widget.task);
WidgetsBinding.instance.addPostFrameCallback((_) async {
await QueryBowl.of(context).fetchQuery(query);
await QueryBowl.of(context).fetchQuery(Query<T>(
queryKey: widget.queryKey,
task: widget.task,
staleTime: QueryBowl.of(context).staleTime,
));
});
}
@override
Widget build(BuildContext context) {
final queryRT = QueryBowl.of(context).getQuery<T>(widget.queryKey) ?? query;
return widget.builder(context, queryRT);
final query = QueryBowl.of(context).getQuery<T>(widget.queryKey);
if (query == null) return Container();
return widget.builder(context, query);
}
}