Flutter - GraphQL 支持
Posted
技术标签:
【中文标题】Flutter - GraphQL 支持【英文标题】:Flutter - GraphQL Support 【发布时间】:2020-03-16 05:31:28 【问题描述】:有人可以帮助我们解决以下问题
-
Google 有计划在不久的将来支持官方的 graphQL 客户端吗?如果没有 apollo graphQl clinet 的机会?因为我没有看到任何官方支持 Flutter - GraphQL 集成。
n.
【问题讨论】:
【参考方案1】:你可以使用包https://pub.dev/packages/graphql_flutter Flutter 的 GraphQL 客户端,将现代 GraphQL 客户端的所有功能集成到一个易于使用的包中。 Github https://github.com/zino-app/graphql-flutter 有两个例子你可以查看https://github.com/zino-app/graphql-flutter/tree/master/examples
查询代码sn-p
String readRepositories = """
query ReadRepositories(\$nRepositories: Int!)
viewer
repositories(last: \$nRepositories)
nodes
id
name
viewerHasStarred
""";
Query(
options: QueryOptions(
document: readRepositories, // this is the query string you just created
variables:
'nRepositories': 50,
,
pollInterval: 10,
),
// Just like in apollo refetch() could be used to manually trigger a refetch
// while fetchMore() can be used for pagination purpose
builder: (QueryResult result, VoidCallback refetch, FetchMore fetchMore )
if (result.errors != null)
return Text(result.errors.toString());
if (result.loading)
return Text('Loading');
// it can be either Map or List
List repositories = result.data['viewer']['repositories']['nodes'];
return ListView.builder(
itemCount: repositories.length,
itemBuilder: (context, index)
final repository = repositories[index];
return Text(repository['name']);
);
,
);
【讨论】:
嗨 chunhunghan,感谢您的回复,但我还有一个查询,在当前版本的 graphql_flutter 中,他们删除了文档:readRepositories,并添加了 documentnode:readRepositories,并且发现它很难与供应商。 你也可以给我指出一个使用提供程序包的好的实现。提前致谢。 我没有 graphql 服务器。帮不上忙。以上是关于Flutter - GraphQL 支持的主要内容,如果未能解决你的问题,请参考以下文章