我有一个看起来像这样的突变:
mutation ADD_CATEGORY($id: ID!, $category: ID!) {
addCategory(id: $id, category: $category)
}
它作为addCategory
传递到我的React组件中。
我的handleSave
函数如下所示:
handleSave = () => {
const { id, category } = this.state;
addCategory({ variables: { id, category: category.id } });
}
id
和category.id
是this.state
对象的字符串属性。
我收到以下错误:
[GraphQL错误]:消息:类型的验证错误 VariableTypeMismatch:变量类型不匹配,位置:[对象 对象],路径:空
从GraphiQL看API,我看到updateCategory
突变具有以下参数:
id: ID!
category: [ID!]!
我在这里想念什么?
答案 0 :(得分:0)
模式中ID
周围的括号表示category
参数的类型实际上是ID的列表(或数组),而不是单个ID。所以您的通话应该看起来像这样:
addCategory({ variables: { id, category: [category.id] } })
答案 1 :(得分:0)
请确保addCategory模式接受ID和类别的字符串类型。从您的API输出看起来类别是数组类型。