Development/React Native

[React Native] Could not find "client" in the context or passed in as an option. Wrap the root component in an <ApolloProvider>, or pass an ApolloClient instance in via options.

안다희 2021. 3. 21. 01:22
728x90

분명 ApolloProvider에 client를 잘 넣었는데 이러한 오류가 발생할 때가 있다.

그럴 땐 useMutation(또는 useQuery or useLazyQuery)를 import 하는 패키지를 확인하자.

import { gql, ApolloError, useMutation } from '@apollo/client'; // no!!!!
import { useLazyQuery } from '@apollo/react-hooks';
import { gql, ApolloError } from '@apollo/client';
import { useLazyQuery, useMutation } from '@apollo/react-hooks'; // right!!!!

useMutation은 @apollo/client, @apollo/react-hooks 두 곳에서 모두 import할 수 있는데, 실제로 사용할 땐 후자에서 import 해야 한다.

그래서 이 import 부분을 굉장히 유심히 봐야한다!!! 

흔한 경우는 아니겠지만 나와 같은 오류를 경험하는 사람들에게 도움이 되길 바라며..!!

출처: https://mingos-habitat.tistory.com/34 [밍고의서식지:티스토리]