javascript - Apollo客户端Graphql查询变量类型错误

标签 javascript vue.js graphql apollo-client

我正在尝试执行需要 IDis 的删除查询,但出现错误。 “未提供所需类型“ID!”的变量“$id””

查询

export const DELETE_CUSTOMER = gql`
    mutation deleteCustomer($id:ID!){
        deleteCustomer(
            _id: $id
        )
    }
`

vuex 操作中的突变代码

deleteCustomer(vuexContext,id){
        return apollo
        .mutate({
            mutation: DELETE_CUSTOMER,
            variables: id.toString()
        })      
        .then(()=>{
            vuexContext.commit('deleteCustomer',id.toString());
        })
        .catch((err) => {
            throw err;
        });

    }

最佳答案

variables 选项应该是一个对象,每个属性映射到查询中引用的单个变量。您不能像您所做的那样将单个变量的值分配给variables。更正后的方法调用将类似于:

apollo.mutate({
  mutation: DELETE_CUSTOMER,
  variables: { id: id.toString() },
})

关于javascript - Apollo客户端Graphql查询变量类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56671093/

相关文章:

javascript - 当条件变量值通过node js中的循环传递时,Mongodb查找查询不起作用

javascript - 使用 google chrome 开发者控制台时如何使变量在标签中可见

javascript - Echarts.js : Detect a click on a subset of data

javascript - Vue JS不渲染Option元素的value属性

javascript - 什么类型的 Relay mutator 配置适合插入新记录?

node.js - useQuery 返回未定义,但在 gql Playground 上返回数据

python - 如何将 graphql 模式导入 graphene-python 程序?

javascript - 悬停时显示工具提示的 HTML 元素

javascript - node.appendChild 在 <= IE9 中的行为不符合预期(尚未检查 10)

vue.js - 在 v-for 的情况下如何从 v-model 输入更新 Vuex 存储