본문 바로가기
반응형

개발/GraphQL , Apollo19

GraphQL 정리 GraphQL Rest 처럼 http기반이지만 post만 사용한다. 그래서 캐시를 이용할 경우 개발자가 따로 처리를 해주어야 하는데, 나는 apollo를 사용한다. rest와는 다르게 서버에서 단일 엔드포인트를 뜷어놓으면 클라이언트에서는 스키마(데이터 모델)와 query,mutation타입을 통해 이용할 리소스를 받아올 수 있다. rest는 서버에서 주는대로 받아! 라면 gql은 내가 알아서 가져갈게~ 느낌 기존에 이용하는 값만 지우지 않는다면 클라이언트에 영향을 주지 않으면서 서버에서 api의 결과를 추가할 수 있다. 스키마 클라이언트에서 이용할 데이터모델이다. 아래와 같은 스키마를 보내면 export const GET_CATEGORIES = ` query allArticles { allArticles.. 2023. 11. 23.
쿼리 refetch 하기 (refetch, refetchQuries) 1. refetch 함수 사용 refetch는 useQuery의 리턴값중 하나이다. 이름 그대로 데이터를 다시 fetch하는 함수 이다. 공식문서에 자세히 설명되어 있다! (아폴로는 공식문서가 읽기 편해서 좋은듯. ) 동일한 variables를 사용했을 시 fetchPolicy에 의해 cache를 가져와 동일한 값을 불러오는 것을 방지하기 위해 refetch는 network-only가 default 이다. 예시는 공식문서에 나와있는 코드를 대신한다. const DogPhoto = ({ breed }) => ( {({ loading, error, data, refetch }) => { if (loading) return null; if (error) return `Error! ${error}`; retur.. 2022. 5. 1.
syntaxError.mjs:8 Uncaught GraphQLError: Syntax Error: Expected Name, found <EOF>. 쿼리문에 중괄호 안빼먹었는지 확인! 참고 : https://stackoverflow.com/questions/56847935/graphqlerror-syntax-error-expected-name-found-eof 2022. 4. 25.
Mutation후 refetch가 UI적용이 안될때 네트워크탭에서는 확인되지만 UI적용이 안될때 로딩인디케이터를 넣어보기 로딩중일때 클릭을 해서 UI적용이 안되는 것 일 수 있다. 2022. 4. 21.
반응형