Graph QL Client
아폴로가 러닝커버가 더 낮아서 GraphQL Relay 보다
쿼리 컴포넌트가 마운트되면, 아폴로는 쿼리에 대한 옵저버를 생성하고, 컴포넌트는 아폴로 캐시를 통하여 쿼리에 대한 결과값을 구독
아폴로 캐시에 결과값이 없을 경우에는 서버로 요청을 보내서 데이터를 받아 아폴로 캐시에 저장
쿼리 컴포넌트가 결과값을 구독하고 있기 때문에 데이터가 자동 업데이트
useQuery, useMutation등 아폴로 훅을 이용해서 보다 쉬운 상태관리가 가능