여러 컴포넌트가 있고, 각 컴포넌트들이 공유할 수 있는 global state가 있다고 가정해보자.
만약 Apollo-client로 global state를 만들게 된다면 Apollo-Cache라는 곳에 state값이 저장된다.
예를들어
- [2번 컴포넌트]에서 UseQuery를 한 다음
- 받아온 데이터가 Apollo-Cache에 저장된 후 [2번 컴포넌트]로 들어가게 됩니다.
- 이후 [3번 컴포넌트]에서 같은 데이터요청을 하게 되면 Apollo-Cache에 먼저가서 찾고자 하는 데이터가 있는지 확인하고, 있으면 백엔드에 요청을 하지 않고 바로 컴포넌트로 보내주게 된다.
fetchPolicy에는 여러가지 기능들이 있으며 변경이 가능합니다.
fetchPolicy의 기능