less than 1 minute read

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 호출 시 사용되며 파라미터로 전달됨