我正在尝试突变。该突变确实存在并且可以在我的graphql游乐场上正常工作。但是当我在react组件中实现它时,我得到了错误。查询工作正常。顺便说一下,我的代码中需要客户端,所以我绝对必须使用ApolloConsumer。
我尝试使用https://github.com/apollographql/apollo-client/issues/2762之类的client.mutate
export const LOGIN = gql`
mutation LOGIN($email: String!, $password: String!) {
login(email: $email, password: $password) {
email
}
}
`;
class LoginComponent extends Component{
render(){
return(
<ApolloConsumer>
{client=>{
return(
<Button onClick={()=>{
client
.mutate({
mutation: LOGIN,
variables: {
email: "test@test.com",
password: "test"
}
})
.then(result => {
console.log('result', result)
})
.catch(err => {
console.log("err", err);
alert(err.toString());
});
}}>
OK
</Button>
)
}}
</ApolloConsumer>
)
}
}
我希望获得成功,但会得到错误:GraphQL错误:无法查询类型为“突变”的字段“登录”。 (第2行,第3列): 登录名(电子邮件:$ email,密码:$ password){ ^