1
resposta

Obs em 2 coisas

Na sua query deleted feed e necessario tambem retornar category, pois usamos no useQuery

export const DELETE_FEED_POST = gql
    mutation DeleteFeedPost($id: ID!) {
        deleteFeed(id: $id) {
            id
            category
        }
    }
;`
1 resposta

Olá, Guilherme! Tudo bem?

Quando você está utilizando o useQuery ou useMutation no Apollo Client com GraphQL, é importante garantir que todas as informações necessárias para o seu componente sejam retornadas na sua query ou mutation.

No seu caso, parece que você está tentando deletar um post do feed e, ao mesmo tempo, precisa retornar a categoria desse post deletado. A sua mutation DELETE_FEED_POST já está configurada para retornar tanto o id quanto a category, o que é ótimo se você precisa dessas informações para atualizar o estado do seu aplicativo após a operação de deleção.

Um exemplo de como você poderia utilizar essa mutation no seu componente React seria algo assim:

import { useMutation } from '@apollo/client';
import { DELETE_FEED_POST } from './mutations';

const MyComponent = () => {
  const [deleteFeedPost] = useMutation(DELETE_FEED_POST);

  const handleDelete = async (postId) => {
    try {
      const { data } = await deleteFeedPost({ variables: { id: postId } });
      console.log('Post deletado:', data.deleteFeed);
      // Aqui você pode atualizar o estado do seu componente ou fazer outras operações necessárias
    } catch (error) {
      console.error('Erro ao deletar o post:', error);
    }
  };

  return (
    <button onClick={() => handleDelete('id-do-post')}>
      Deletar Post
    </button>
  );
};

Nesse exemplo, após a deleção, você pode acessar o data.deleteFeed para obter o id e a category do post deletado. Isso pode ser útil para atualizar a interface do usuário ou para outras lógicas que você tenha em mente.

Espero ter ajudado. Abraços e bons estudos!

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