Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs GraphQL错误:无法查询字段';突变名称';关于类型';突变';_Reactjs_React Apollo_Mutation - Fatal编程技术网

Reactjs GraphQL错误:无法查询字段';突变名称';关于类型';突变';

Reactjs GraphQL错误:无法查询字段';突变名称';关于类型';突变';,reactjs,react-apollo,mutation,Reactjs,React Apollo,Mutation,我正在尝试变异。突变确实存在,并且在我的graphql游乐场上运行良好。但当我在我的react组件中实现它时,我得到了一个错误。不过,查询可以正常工作。顺便说一句,我的代码中需要客户端,所以我一定要使用客户端 我试过使用client.mutate export const LOGIN=gql` 变异登录($email:String!,$password:String!){ 登录(电子邮件:$email,密码:$password){ 电子邮件 } } `; 类LoginComponent扩展组件{

我正在尝试变异。突变确实存在,并且在我的graphql游乐场上运行良好。但当我在我的react组件中实现它时,我得到了一个错误。不过,查询可以正常工作。顺便说一句,我的代码中需要客户端,所以我一定要使用客户端

我试过使用client.mutate

export const LOGIN=gql`
变异登录($email:String!,$password:String!){
登录(电子邮件:$email,密码:$password){
电子邮件
}
}
`;
类LoginComponent扩展组件{
render(){
返回(
{client=>{
返回(
{
客户
.变异({
密码:登录,
变量:{
电子邮件:“test@test.com",
密码:“测试”
}
})
。然后(结果=>{
console.log('result',result)
})
.catch(错误=>{
console.log(“err”,err);
警报(err.toString());
});
}}> 
好啊
)
}}
)  
}
}
我希望获得成功,但我得到错误:GraphQL错误:无法查询类型为“Mutation”的字段“login”。(第2行第3列): 登录(电子邮件:$email,密码:$password){
^

架构中似乎没有这种变化,可能是输入错误,或者如果您添加了iti,您需要重新启动服务器。我刚刚重新启动了我的服务器,它可以正常工作。谢谢
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>
    )  
  }
}