graphql_flutter 突变小部件显示错误 -

问题描述

我不确定我是否完全理解这个错误。任何有使用 graphql_Flutter 包经验的人请帮忙。对 Flutter 和 graphql 来说是全新的。但到目前为止,我已经找到了后端。

我的突变在 graphiql 中起作用,试图使其在颤振中起作用。这是当我将鼠标悬停在那些红线上时出现的错误

错误 - 参数类型 'Column Function(MultiSourceResult Function(Map,{Object?optimisticResult}),QueryResult)' 无法分配给参数类型 'Widget Function(MultiSourceResult Function) (Map,QueryResult?)'。 (文档)

这是截图——

enter image description here

class GraphQlMutations {

  String createuser() { return"""
    mutation createuser(\$id: String!,\$name: String!,\$email: String!) {
      createuser(objects: [{ id: $id,name: $name,code: $code }]) {
        returning {
          id
          name
          email
        }
      }
    }
  """;
  } 
}

解决方法

比较错误中的两个声明并查看不同之处:

Column Function(MultiSourceResult Function(Map<String,dynamic>,{Object? optimisticResult}),QueryResult)
Widget Function(MultiSourceResult Function(Map<String,QueryResult?)

由于 ColumnWidget,唯一真正的区别是 QueryResult 的可空性。 因此,改变

builder: (RunMutation createUser,QueryResult result)

builder: (RunMutation createUser,QueryResult? result)

并处理结果为空的情况。