Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/20.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_Graphql_Apollo Client - Fatal编程技术网

Reactjs GraphQL变异:不变冲突:必须包含查询定义

Reactjs GraphQL变异:不变冲突:必须包含查询定义,reactjs,graphql,apollo-client,Reactjs,Graphql,Apollo Client,我正在尝试从react应用程序调用graphQL服务器。react代码如下所示: client.query({ query: gql` mutation{ addTeam(input:{name:"Somename", label:"somelabel"}) {error, status} }` }).then((resp: any) => { console.log("Su

我正在尝试从react应用程序调用graphQL服务器。react代码如下所示:

client.query({
  query: gql`
    mutation{
        addTeam(input:{name:"Somename", label:"somelabel"})
        {error, status}
    }`
 }).then((resp: any) => {
      console.log("Success", resp);
 }).catch(err => {
      throw err;
 })
我得到了以下错误:

但是,如果我将相同的请求从
mutation
更改为
query
,并在我的节点图SQL服务器中进行必要的更改,以将其作为
query
而不是
mutation
处理,则相同的代码可以工作

阿波罗客户端
变异

在GraphQL中,突变在语法上与查询相同,唯一的区别是使用关键字
mutation
,而不是
query

哦,顺便说一句,同样的
变异
查询在
操场
工作。 请帮帮我,我的工作因为这个问题停止了


谢谢

当前有一个GitHub问题提到了这个错误:

您应该使用客户端的
mutate
方法进行突变,而不是
query
方法。可以找到该方法的选项。Apollo对查询和突变的处理方式很固执,因此每个方法都有适合于每个操作行为的不同选项(例如,
mutate
包括一个
refetchQueries
选项)


非常感谢,我不知道我是突变的用户“client.query”+天哪!“客户,变异”。。。谁知道呢?这个答案解决了我的问题,但是这可以用一个
gql
字符串而不是
mutation
对象(其中
mutation
使用了两次)来完成吗?我正在使用来自的
@rest
调用。它们使用
gql
query字符串,后跟
client.query({query})
api调用。好奇这是否可能与您在这里使用的输入相同。您的文档链接不再工作,请更新它好吗?
client.mutate({
  mutation: gql`
    mutation {
      addTeam(input:{name:"Somename", label:"somelabel"}) {
        error
        status
      }
    }`,
})