读取useMutation中使用的变量

时间:2020-05-26 20:07:05

标签: graphql apollo

我有一个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
    }   
  })

1 个答案:

答案 0 :(得分:1)

onComplete仅将变异结果作为参数传递-别无其他。但是,mutate返回一个Promise,因此不必使用onCompleted

const [mutate] = useMutation(YOUR_MUTATION, {...})
const doSomething = async (options) => {
  const result = await mutate(options)
  yourFunction(options.variables)
}