Jaeilit

Apollo Client 본문

TIL

Apollo Client

Jaeilit 2022. 2. 10. 14:35
728x90

Apollo Client 

 

Apollo 란 GraphQL 의 클라이언트 라이브러리 중 하나로 GraphQL을 사용 한다면 거의 필수적으로 사용하는 상태 관리 플랫폼입니다.

 

소개

 

1.  Query 및 Mutation 직접 전송

 API 서버에 데이터를 가져오기 위해 번거로운 네트워크 단의 HTTP 요청을 신경 쓸 필요가 없어진다. (axios, fetch 사용 할 필요가 없다.)

 

2. 전송받은 데이터 캐싱

클라이언트의 반복요청을 줄이며 서버 부하를 줄일 수 있을 뿐만 아니라 서비스를 이용하는 사람들에게 더 나은 사용자 경험을 제공 할 수 있다.

 

3. Local state 관리

클라이언트만의 Local State 를 만들어 Query, Mutation, Resolver의 사용이 가능하다.

 

4. Overfetching 과 underfetching 방지

RESTful API 의 문제점이 entdpoint 로 요청을 보내기 때문에 필요하든 필요하지 않든 그 데이터를 가져온다.

GraphQL은 query 로 원하는 데이터를 지정해서 가져올 수 있다.

 

6. 제로 구성 캐싱

Apollo Client 를 다른 데이터 관리 솔루션과 차별화 하는 주요 기능 중 하나는 정규화된 캐시입니다.

Apollo Clinet 에는 즉시 사용 할 수 있는 지능형 캐시가 포함되어 있어 시작하는데 필요한 구성이 거의 없습니다.

import { ApolloClient, InMemoryCache } from '@apollo/client';

const client = new ApolloClient({
  cache: new InMemoryCache()
});

 

Apollo vs Redux

https://d2.naver.com/helloworld/4245995

 

 

728x90

'TIL' 카테고리의 다른 글

Next JS 기본개념 이해하기  (0) 2022.04.13
scroll event  (0) 2022.03.07
React Query vs SWR  (0) 2022.02.10
리액트 쿼리 (React query)  (0) 2022.02.10
SWR (데이터 가져오기를 위한 React Hooks)  (0) 2022.02.10