Чтение переменных, используемых при использовании - PullRequest
1 голос
/ 26 мая 2020

У меня мутация 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 Ответ

1 голос
/ 27 мая 2020

onComplete передается только результат мутации в качестве параметра - больше ничего. Однако mutate возвращает Promise, поэтому использование onCompleted не обязательно.

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