flutter - 突变不起作用 - Flutter 和 GraphQL
问题描述
我将我的应用程序与 graphql 连接起来,查询工作正常,我能够从 API 获取数据,但不知何故,突变根本不起作用。我的 mytation 是一个简单的登录功能,您可以在其中输入现有用户的登录名和密码。每次我运行它时,onCompleted 返回空值,而不是带有令牌的 JSON。后来我检查了突变是否将任何东西传递给数据库,但没有。有没有办法解决它?
我的代码:
final String loginQuery = """
mutation loginUser(\$email: String!, \$password: String!){
login(email: \$email, password: \$password){}
}
""";
登录小部件:按下按钮后,文本小部件应显示突变结果。
Widget mutation() {
return Mutation(
options: MutationOptions(
update: (Cache cache, QueryResult result) {
return cache;
},
onCompleted: (resultData) {
print('on completed $resultData');
},
documentNode: gql(loginQuery),
),
builder: (RunMutation runMutation, QueryResult result) {
return Column(
children: <Widget>[
RaisedButton(
child: Text('login'),
onPressed: () {
runMutation(
{"email": "mockuser@gmail.com", "password": "123456"});
print(result.data);
}),
Container(
color: Colors.white,
child: Text('Result \n ${result?.data?.toString()}'))
],
);
});
}
解决方案
尝试使用,
onError: (err) {
print(err.graphqlErrors);
},
在onCompleted之后。这将向您显示错误(如果有)。
推荐阅读
- vba - 从 Excel 单元格完成 VBA 用户表单文本框
- javascript - Phaser 3 es6:如何创建 Player 类?
- c# - Powershell 运行空间写保护变量(不可替换)
- php - php会话不保存变量
- python - 如何在数据框中获取一列模糊分数(将一个字符串与一列字符串进行比较),python
- angular - 在多个(循环)输入上使用 ngModel
- gcc - Lua 模块 - 如何不包含 Lua 核心?
- python - bigrams python的CountVectorize词汇规范
- java - Keycloak API createUser Java
- vba - Excel VBA 删除包含某些字符串值的单元格