当在使用Apollo GraphQL进行变异操作时,如果遇到“操作中未定义变量”的错误,通常是由于变量未正确定义或传递引起的。
以下是解决这个问题的一些可能方法:
mutation UpdateUser($id: ID!, $name: String!) {
updateUser(id: $id, name: $name) {
id
name
}
}
在上面的示例中,变量id和name在操作中被定义,并在updateUser字段中使用。
const mutation = gql`
mutation UpdateUser($id: ID!, $name: String!) {
updateUser(id: $id, name: $name) {
id
name
}
}
`;
const variables = {
id: '123',
name: 'John Doe',
};
client.mutate({
mutation,
variables,
})
在上面的示例中,变量id和name通过variables对象传递给变异操作。
检查变量名称:确保变量名称在定义和传递时保持一致。GraphQL对大小写敏感,变量名称必须精确匹配。
检查变量类型:确保变量的类型与操作定义的类型匹配。如果变量类型不匹配,也会导致“操作中未定义变量”的错误。
通过检查变量定义、传递以及名称和类型的匹配,可以解决“Apollo GraphQL变异:操作中未定义变量”错误。