1
resposta

OBS em 2 coisas 2

No newPost nao precisamos fazer o refetchQueries pois ja estamos fazendo o update

1 resposta

Olá, Guilherme! Tudo bem?

Você está correto ao observar que, ao usar o update no useMutation do Apollo Client, muitas vezes não é necessário usar o refetchQueries. O update permite que você atualize manualmente o cache do Apollo após uma mutação, o que pode ser mais eficiente do que refazer a consulta inteira com refetchQueries.

Por exemplo, se você tem uma mutação newPost e deseja adicionar o novo post ao cache sem refazer a consulta, você pode fazer algo assim:

const [newPost] = useMutation(NEW_POST_MUTATION, {
  update(cache, { data: { newPost } }) {
    const { posts } = cache.readQuery({ query: GET_POSTS });
    cache.writeQuery({
      query: GET_POSTS,
      data: { posts: posts.concat([newPost]) },
    });
  },
});

Neste exemplo, após a mutação newPost ser executada, o update é chamado, onde lemos a lista atual de posts do cache e adicionamos o novo post a essa lista. Isso atualiza o cache localmente sem a necessidade de refazer a consulta.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado