1
resposta

Resolução: Erro ao passar o resultado da query para o componente

Olá a todos,

Resolvi o erro gerado na resolução do desafio alterando a interface ILivro da seguinte maneira:

export interface ILivro {
  id: number
  categoria: number
  titulo: string
  slug: string
  descricao: string
  isbn: string
  numeroPaginas: number
  publicacao: string
  imagemCapa: string
  **autorId?: number
  autor?: IAutor**
  opcoesCompra: IOpcaoCompra[]
  sobre: string
}

Pois a query retornada pelo graphQL é um objeto por vezes mais complexo (consequentemente com tipagem diferente) do que as interfaces usadas anteriormente, então sempre que refinar uma query no graphQL é necessário averiguar a compatibilidade com os atributos e tipos descritos das interfaces no projeto.

PS: consequentemente, ao modificar uma interface do projeto, vai haver uma refatoração de código extra em outros arquivos, mas este é o preço do aprimoramento.

1 resposta

Olá Jaderson! Tudo ok contigo?

Agradeço muito por compartilhar sua solução para o problema! É ótimo ver membros da comunidade resolvendo desafios e compartilhando suas descobertas para beneficiar a todos.

Sua explicação sobre a necessidade de ajustar a interface ILivro para refletir as alterações na query do GraphQL é muito esclarecedora. A compatibilidade entre as interfaces e as queries é crucial, e sua abordagem de ajustar a tipagem conforme necessário mostra um bom entendimento do processo.

É verdade que, ao modificar uma interface, é provável ser necessário realizar algumas refatorações adicionais em outros arquivos, como você mencionou. Isso destaca a importância de manter a consistência e atualizar as dependências conforme o projeto evolui.

Agradecemos por contribuir para a comunidade e por compartilhar sua experiência! Se houver mais detalhes ou dúvidas que você gostaria de discutir, sinta-se à vontade para compartilhar conosco.

Continue assim!

Abraços e bons estudos.