jgjgill

cache.modify 정리

No Filled

GraphQL에서는 cache.modify를 통해 캐싱된 필드의 값을 직접 수정할 수 있다.


writeQuery writeFragment와의 공통점

수정된 필드에 의존하는 모든 활성 쿼리가 새로 고침된다.

(broadcast: false 옵션을 줬을 때는 예외이다.)


writeQuery writeFragment와의 차이점

modifymerge function을 우회한다.

그래서 필드가 항상 지정한 값으로 정확하게 덮어쓰게 된다.

modify는 캐시에 존재하지 않은 필드는 사용할 수 없다.


broadcast optimistic 옵션

cache.modify에는 Apollo Client의 내부 동작을 제어하는 옵션으로 broadcast, optimistic가 존재한다.

이 옵션들은 캐시의 변경 사항이 어떻게 다른 부분에 반영되는지를 결정한다.


broadcast

  • 캐시가 수정되었을 때 Apollo Client가 해당 변경 사항과 관련된 쿼리의 새로고침 여부를 결정한다.
  • 기본값은 true이다.

optimistic

  • 캐시된 값도 수정하는 낙관적 업데이트로 수행 여부를 결정한다.
  • 기본값은 false이다.

참고 문서

@2023 powered by jgjgill