首页 > 解决方案 > graphql_flutter - 从 pub.dev 页面复制代码 - 仍然出现错误

问题描述

我从 graphql_flutter pub.dev 页面复制了这段代码,当我将鼠标悬停在构建器上时,仍然出现此错误。我所做的只是放入查询中并更改了构建器中与我的查询相关的一些值。

Error - The argument type 'StatelessWidget Function(QueryResult, {Future Function(FetchMoreOptions) fetchMore, void Function() refetch})' can't be assigned to the parameter type 'Widget Function(QueryResult, {Future Function(FetchMoreOptions)? fetchMore, Future<QueryResult?> Function()? refetch})'.

  final String _query = """
    query {
      users {
          id
          name
          email
      }
  } """;
  @override
  Widget build(BuildContext context) {    
    return Query(
      options: QueryOptions(
        document: gql(_query), // this is the query string you just created
        pollInterval: Duration(seconds: 10),
      ),
      builder: (QueryResult result, {VoidCallback refetch, FetchMore fetchMore}) {
        if (result.hasException) {
          return Text(result.exception.toString());
        }

        if (result.isLoading) {
          return Text('Loading');
        }
        List repositories = result.data['users'];
        return ListView.builder(
            itemCount: repositories.length,
            itemBuilder: (context, index) {
              final repository = repositories[index];
              return Text(repository['name']);
            });
      },
    );
  }
}```

标签: fluttergraphql

解决方案


builder: (QueryResult result, {
                  Future<QueryResult> Function(FetchMoreOptions)? fetchMore,
                  Future<QueryResult?> Function()? refetch,
                }) {

更新构建器函数语法以匹配“参数类型”有效。


推荐阅读