$regex has to be a string

OwlSuri·2022년 6월 30일
3

errorMemo

목록 보기
2/6

문제점

한 쿼리를 불러오는데, data는 계속 undefined인데 따로 별다른 에러는 뜨지 않았다.

쿼리문은 잘못쓴 곳이 없어보였고,
graphql에서 data를 불러와보려고 하니

그래서 Network의 Preview를 보니 처음보는 에러가 있었다.

errors: [{message: "$regex has to be a string", locations: [{line: 2, column: 3}],…}]

string이 아닌 값을 주었나 찾아봐도 그런건 없었고,
결국 구글링!!

원인

regex??

regular expression 의 약자 regex 는 텍스트를 일치시키고 찾고 관리하는 데 도움이 되는 패턴을 만들 수 있는 텍스트 문자열입니다.
출처 : https://www.computerhope.com/jargon/r/regex.htm

이 오류를 찾다보니,

서버에 검색이 있는 경우 none대신 string을 달라는 말, 즉 검색어가 입력하지 않았기 때문에 생긴 오류였다.

해결방법

 const { data } = useQuery(FETCH_USED_ITEMS_I_PICKED, {
    variables: { search: "" },
  });

이렇게 search: "" 넣어주니
데이터를 잘 불러올 수 있었다.

검색이 있는 api의 데이터를 불러올때 잘 살펴봐야겠다.

profile
기억이 안되면, 기록을 -

0개의 댓글