代码之家  ›  专栏  ›  技术社区  ›  Sumchans

graphql_flutter变异小部件显示错误-

  •  0
  • Sumchans  · 技术社区  · 3 年前

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

    我的突变在graphiql中工作,试图让它在flutter中工作。当我将鼠标悬停在这些红线上时,就会出现这个错误。

    错误-无法将参数类型“列函数(MultiSourceResult函数(映射<字符串,动态>,{Object?optimisticResult}),QueryResult)”分配给参数类型“小部件函数(多源结果函数(映射>字符串,动态>,}Object?optimiticResult},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
            }
          }
        }
      """;
      } 
    }
    
    0 回复  |  直到 3 年前
        1
  •  8
  •   enzo    3 年前

    比较错误中的两个声明,看看区别:

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

    自从 Column 是a Widget ,唯一真正的区别是 QueryResult . 因此,改变

    builder: (RunMutation createUser, QueryResult result)
    

    builder: (RunMutation createUser, QueryResult? result)
    

    并处理结果为空的情况。