ApolloClinet Error Handling
ApolloClinet Error Handling
Hooks or Client Setting
Apollo Client 에서 Error Handling 은 2가지 방법 존재
query나 mutation 을 날리는 로직에서 직접 핸들링 하는 방법과 Apollo Client 에서 직접 핸들링 하는 방법 존재
-
로직
useQuery, useMutation 같은 로직에서 onError 같은 핸들러로 error 객체 핸들링
해당 로직에 특화된 에러 처리할 때 용이
-
ApolloClient
ApolloClient 인스턴스 생성 시 세팅으로 사용
전역에서 다루는 에러(Token, Network 같은 에러) 처리할 때 용이
export const client = new ApolloClient( { link: from([errorLink, authLink, httpLink]) });
errorLink 에서 error 핸들링
const errorLink = onError(({ graphQLErrors, networkError, operation, forward }) => { // logic });
graphQLErrors 는 GraphQL 에러 시 파라미터로 전달됨
networkError 는 Network 에러 시 파라미터로 전달됨
opration 은 GraphQL operation 에 대한 정보이며 파라미터로 전달됨
forward 는 다음 link chain 호출 시 사용되며 파라미터로 전달됨