deprecated된 dataIdFromObject를 keyFields로 변경하면서 생긴 이슈 기록 Apollo Graphql은 Object 타입을 캐시할 때 기본 식별자로 id 필드를 사용한다. Object에 id필드가 없거나 다른 필드를 식별자로 사용하고 싶은 경우 커스텀 할 수 있다. Configuring the Apollo Client cachekeyFields: ["title", "author", ["name"]],www.apollographql.com 그 때 사용하는 것이 dataIdFromObject 함수 또는 KeyField이다. 공식문서에서는 dataIdFromObject의 세 가지 결점을 이유로 KeyFields 사용을 권장한다. dataIdFromObject의 세 가지 결점 1) I..
GraphQL의 초기 폴더구조는 기본적으로 밑의 사진과 같이 구성된다 (VS Code, Yarn사용) 1) package.json - package.json에 정의한 dependency들은 yarn install을 통해 한번에 다운로드를 할 수 있다. - git으로 협업할 때, module은 보통 용량때문에 ignore되므로 package.json의 dependency 정보만 가져와서 yarn install로 다운받으면 편하다. 2) schema.js - schema.js의 코드는 기본적으로 다음과 같다. import path from "path"; import { makeExecutableSchema } from "graphql-tools"; import { fileLoader, mergeResolve..
Query에 대해 : Query는 우리가 정의하여 사용한다, Query정의를 통해 그 쿼리를 날릴 수 있게 된다. Ex) type Query { hello : String! } 위와 같이 정의한 Query를 해석해보면, 우리는 hello라는 String타입을 같은 Query를 날릴 수 있게 된 것이다. 쿼리를 날릴 때는 { Hello } 위와 같이 써주면 된다 Resolver에 대해 : resolver는 우리가 정의한 Query가 어떤 역할을 할 것인지를 정의한 것이다. 위에서 우리는 hello라는 Query를 정의했는데 이러한 hello라는 쿼리를 날리면 어떤일이 발생하는지를 모른다 그 동작을 정의하는 것이 resolver이다. Ex) Query: { hello: ()=> "Hi" } 위와같이 hell..
- 20200403
- 20200429
- 20200415
- 20200319
- 20200804
- 20200624
- 20200427
- 백준
- 20200425
- 20200622
- 20200406
- 20200512
- 20200504
- 20200413
- 20201204
- 20200503
- 생활코딩리눅스
- 20200420
- chapter8
- 20200510
- 20200417
- 20200330
- 20200424
- 20200502
- likelion
- chapter7
- 20200423
- 20200317
- 20200428
- 20200421
- Total
- Today
- Yesterday