我不确定我是否完全理解这个错误。任何有使用graphql_flutter包经验的人请帮忙。Flutter和graphql是全新的。但到目前为止,我已经找到了后端。
我的突变在graphiql中工作,试图让它在flutter中工作。当我将鼠标悬停在这些红线上时,就会出现这个错误。
错误-无法将参数类型“列函数(MultiSourceResult函数(映射<字符串,动态>,{Object?optimisticResult}),QueryResult)”分配给参数类型“小部件函数(多源结果函数(映射>字符串,动态>,}Object?optimiticResult},QueryResult?)”。(文件)
这是截图-
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, dynamic>, {Object? optimisticResult}), QueryResult?)
自从 Column 是a Widget ,唯一真正的区别是 QueryResult . 因此,改变
Column
Widget
QueryResult
builder: (RunMutation createUser, QueryResult result)
向
builder: (RunMutation createUser, QueryResult? result)
并处理结果为空的情况。