Slide 48
Slide 48 text
GraphQL Flutter と GraphQL Codegen を
使っています。
GraphQL Flutter には Flutter Hooks ベースで
書かれた useQuery が存在しています。
GraphQL Codegen は GraphQL のスキーマ
ファイルから Dart を出力してくれて、 尚且つ
useQuery を一部拡張し
useQuery$Home という形で Home 用のクエリ
オプションを設定しやすくしてくれる機構もありま
す。
それらを組み合わせ使ってます。
※ 詳しく知りたい方は後述するブログを
Widget build(BuildContext context, WidgetRef ref) {
final options = ref.watch(homeQueryOptionsProvider);
final query = useQuery$Home(options);
return Scaffold(
body: GraphQLQueryContainer(
query: query,
onLoadingWidget: SkeletonHomeScreen(),
onErrorWidget: (error, stackTrace) .> ErrorContainer(
error: error,
stackTrace: stackTrace,
onAction: query.refetch,
),
child: (data) {
return ListView(...):
},
),
);
}
useQuery