• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

4-1 질문사항있습니다.

22.02.09 15:22 작성 조회수 184

0

수업 잘 듣고있습니다! 좋은강의 올려주셔서 감사합니다.

다름이아니라 Apollo Client를 구성하던 도중 한가지 의문사항이 들어서 질문합니다.

client쪽에서 roles.js 를 구성하던 도중 생긴 에러입니다.

상황은 Side Nav bar에서 특정 role을 선택하면 생기는 오류입니다.

 

console.log()로 데이터들을 찍어보았는데, Nav Item들을 onclick할 때마다, setContentId를 업데이트는 시켜주지만, 따로 useQuery()를 실행하는 operation은 없어서 기존에 존재하던(처음 렌더링될 때 실행된 useQuery)기준으로 값을 받아와서 []의 값을 사용하기 때문에 에러가 나는것으로 생각됩니다. apollo playground로 실행했을때는 Query에 맞춰 값이 다 제대로 나옵니다. 위에서 onclick시에 세팅해주는 값은 contentId뿐이 없고, 따로 graphQL의 userQuery를 실행하는 문장은없는데 어떻게 값이 변경되서 나오고 있는지 궁금합니다.

답변 1

답변을 작성해보세요.

1

안녕하세요!

아폴로의 useQuery는 컴포넌트가 리렌더링될때마다 실행됩니다.
variable로 contentId가 주어져 있기 때문에 해당 값이 변할 때마다 쿼리를 실행하죠.

아폴로의 기능이라고 생각하시면 됩니다.

Queries - Client (React) - Apollo GraphQL Docs

위 문서를 살펴보시면 도움이 될 거에요!