fragment는 그래프큐엘에서 반복되는 쿼리들의 필드들을 따로 모아두고 불러오는 기능을 말합니다.
이 기능의 사용 예시를 기록하겠습니다.
사용법
사용법은 아래와 같습니다.
fragment "이름" on "해당fragment가 참조할 스키마 이름" {
(반복해서 사용될 필드명 배치)
}
이것을 실제로 적용해보면 이렇습니다.
fragment itemFields on Item {
_id
itemName
itemPrice
itemCategoryId
itemImage
}
이렇게 작성된 fragment는 사용할 Query 또는 Mutation에서 자바스크립트의 스프레드 연산자와 같이 사용이 가능합니다.
query {
items{
...itemFileds
}
}
그렇지만 실무에서는 다음과 같이 상수로 두고 쿼리문 또는 뮤테이션문을 사용합니다.
const ITEM_FIELDS = gql`
fragment itemFields on Item {
_id
itemName
itemPrice
itemCategoryId
itemImage
}
`
이럴 경우 ${ } 를 이용해서 작성한 fragment를 호출해야 작동이 됩니다.
const GET_ITEMS = gql`
query{
items{
...itemFileds
}
}
${ITEM_FIELDS}
`
주의점
fragment 정의는 다른 query나 mutation보다 상단에 작성해야 합니다.
'개인 공부 > graphql' 카테고리의 다른 글
cache.modify 와 cache.writeQuery의 차이점과 활용법 (0) | 2024.07.29 |
---|---|
Apollo Client에서 데이터 캐싱 설정 - 전역 캐시 설정 (0) | 2024.07.28 |
그래프큐엘 타입정의 (6) | 2024.07.25 |
그래프큐엘 사용하는 이유 (0) | 2024.07.25 |