Para quem usa GraphQL, com certeza já deve ter se deparado com o Apollo, uma plataforma completa para criar aplicações GraphQL. O Apollo server é umas das melhores alternativas para se criar APIs, já o Apollo client é uma solução completa para conectar o seu front-end com a API.
O Apollo client já possui um ótimo suporte ao React, fornecendo componentes que facilitam a integração com o back-end. Veja um exemplo:
client
.query({
query: gql`
query events {
id
name
}
`
})
.then(result => console.log(result));
Na prática, a nova versão do Apollo client agora nos da uma API mais simples e baseada em Hooks.
const BRAZILJS_EVENTS = gql`
query events {
id
name
}
`;
export function LastLaunch() {
const { loading, data } = useQuery(BRAZILJS_EVENTS);
return (
<div>
<h1>Eventos BrazilJS</h1>
{loading ? <p>Loading</p> : <p>{data.events.name}</p>}
</div>
);
}
Mais simples né? E o mais legal é que com essa versão nova o bundle reduziu em 50%!
Para quem quiser saber mais, veja o post oficial do Apollo: https://blog.apollographql.com/apollo-client-now-with-react-hooks-676d116eeae2