프론트엔드/GraphQL

[GraphQL] 4. local only field

zzocco94 2023. 2. 15. 17:41

노마드 코더의 [GraphQL로 영화 웹 앱 만들기] 
강의를 보고 정리한 글입니다.

 

목표

  • Apollo client로 local state를 어떻게 다루는지 이해하기
  • API에서 제공되는 remote data와 local state를 병합하기

local only field

  • Apollo의 cache에서만 활동하고, API로 가지 않는 field
  • Apollo는 local only field를 제외한 모든 field의 정보를 API에 요청한다.

활용 사례

  • 다크모드
  • 사용자의 타임존
  • 사용자가 원하는 볼륨 크기를 User Profile에 저장 (ex. youtube)

선언 방법

  • @client
  • Apollo에게 이 field는 cache에만 있다고 알려준다.
const GET_MOVIE = gql`
  query getMovie($movieId: String!) {
    movie(id: $movieId) {
      id
      title
      medium_cover_image
      rating
      isLiked @client // local only field
    }
  }