Apollo Client GraphQL: ___typename impede a mutation.
Desenvolvendo a comunicação do front com a API GraphQL, me deparo com um erro que impede a atualização no banco. Acontece que quando buscamos, a API retorna algo como:
Em Apollo, __typename
é usado para cache, mas não esta declarada no schema da api.
Usei abordagens como @apollo/client/link/remove-typename
, pacote do proprio apollo, mas não funcionou.
Sami C. resolve isso usando a abordagem:
Porém, __typename
é uma propriedade especial usada para identificar o tipo de objeto em consultas GraphQL. Essa propriedade é definida como não configurável (non-configurable
), o que significa que não pode ser removida usando o operador delete
.
Então, a solução que funcionou para mim foi o .map
, que cria um novo objeto sem __typename
.
Se tiverem outra solução, será bem-vinda, mas isso é o que funcionou no meu contexto...