我有一个Apollo GraphQL突变。此突变接受两个变量。
触发突变后,我想读取这些变量(而不是来自支持者的响应)。
我需要知道这些变量,因为我想在onCompleted
函数中使用它们。
我的代码:
const [tripleEntity] = useMutation(TRIPLE_ENTITY, {
context: { clientName: 'redzor' },
refetchQueries: ['listProjects']
})
我想要什么:
const [tripleEntity] = useMutation(TRIPLE_ENTITY, {
context: { clientName: 'redzor' },
refetchQueries: ['listsEntities'],
onCompleted(response, variables): {
console.log(variables) // Where "variables" are the input necessary to fire this mutation
myFunction(variables) // This is the function that needs the input variables
}
})
答案 0 :(得分:1)
onComplete
仅将变异结果作为参数传递-别无其他。但是,mutate
返回一个Promise,因此不必使用onCompleted
。
const [mutate] = useMutation(YOUR_MUTATION, {...})
const doSomething = async (options) => {
const result = await mutate(options)
yourFunction(options.variables)
}