Slide 20
Slide 20 text
GraphQL Flutter ʹ Flutter Hooks Λར༻
ͨ͠ػೳΛఏڙ͍ͯ͠ΔͷͰɺΑΓ
TanStack Query ͷΑ͏ͳ͜ͱΛΠϝʔδ
Ͱ͖Δͱࢥ͍·͢ɻ
final readRespositoriesResult = useQuery(
QueryOptions(
document: gql(readRepositories),
variables: { 'nRepositories': 50 },
pollInterval: const Duration(seconds: 10),
),
);
final result = readRespositoriesResult.result;
if (result.hasException) {
return Text(result.exception.toString());
}
if (result.isLoading) {
return const Text('Loading');
}
List? repositories = result.data?['viewer']?['repositories']?['nodes'];
if (repositories
==
null) {
return const Text('No repositories');
}
return ListView.builder(
itemCount: repositories.length,
itemBuilder: (context, index) {
final repository = repositories[index];
return Text(repository['name']
??
'');
});