This message was deleted.
# 잡담
s
This message was deleted.
h
graphql 파일 로딩하는 방법은 굉장히 많은데 저 상황이면 바벨 매크로를 권장드립니다. https://github.com/evenchange4/graphql.macro
Relay는 스토어 인터페이스에서 local state management를 따고 제공하고 있긴합니다. https://relay.dev/docs/en/local-state-management
사용법은 이쪽에 꽤 자세하게 나와있어요 https://mrtnzlml.com/docs/relay/local-schema
다른 구현체에선는 예를들면 아폴로에선 schema link를 사용하는 방법하고
URQL 에선 서비스 워커를 사용한 예제를 제공하고 있습니다
아 릴레이쪽은 저거 말고 서드파티 네트워크 구현도 있네요 https://github.com/relay-tools/relay-local-schema
근데 구현이 별거없네요 글에 정리하신거랑 똑같은듯 ㅋㅋㅋ
그 커스텀 스키마를 통해 클라이언트 리졸버랑 나머지 리모트 필드들을 동시에 처리하는건 아폴로가 유일했ㄴㄴ데 그 개념을 v3에선 버린거같아서 아쉬워요
u
퍄퍄.. 언제나 양질의 정보를 나눠주셔서 감사합니다
사실 애초에 클라이언트 사이드 스키마, 그러니까 클라이언트 주도로 스키마를 정의하고 API 응답을 매핑하는 방식이 좋은 방법은 아니라고 생각되어서 제공해주신 링크나 릴레이 문서에 있는 로컬 상태 관리와는 약간 차이가 있는 것 같아요. 그래서 별도로 리졸버를 정의해서 API 응답을 매핑하는건 없는 것 같은데 제가 놓친 부분이 있을까요?
하지만 잘 쓰면 리덕스까지 걷어낼 수 있겠네요 👀
다시 relay-local-schema 를 살펴보니, 거기서 제공하는
schema
부분에 graphql-tools makeExecutableSchema 로 만든 스키마를 넘겨주면 되겠네요..! 그리고 코드를 정말 살펴보니 말씀하신
구현이 별거 없다
를 이해했습니다. zzzz
h
일련의 작업 하신 후에 꼭 번들사이즈 체크하세요
보통 많이 비대해지므로…
👍 1
u
오 그렇겠군요.. 엄청 커지면 서비스 워커로 저장하는 것도 염두해 두겠습니다