useState
를 통해 input값을 받고, onChange
로 입력될 때마다 저장되도록 했다.
입력받는 과정에서 loadsh
의 debound
기능을 추가하여 입력이 모두 끝나면 setState
에 저장된다.
console.count()
를 이용해서 api가 몇 번 작동했는지 세도록 했다.
console.count('API Call')
이렇게 설정하면 콘솔에 API Call: [숫자]
이렇게 출력된다.useQuery
의 여러 옵션들 중 enabled
과 staleTime
를 설정했다.
enabled
: enabled에 값을 넣으면 그 값이 참일 때 useQuery
를 실행한다.staleTime
: 설정한 시간 동안 데이터가 stale 되지 않도록 해 refetch를 막을 수 있다.inputValue
가 거짓이면 null을 출력할 수 있도록 컴포넌트를 분리시켰다.
처음에는 API에서 받은 객체 데이터 그대로 리스트 컴포넌트로 전달하여 map을 통해 출력되도록 만들고자 헀다.
하지만 진행 과정에서 자꾸 items가 undefined라고 출력되었다.
결국은 res.data.response.body
이렇게 body부분만 보내서 totalCount
, 와 item
을 받을 수 있도록 했다.
참고 : 객체를 map으로 돌리려면 keys를 사용해야 한다.
"proxy": "http://apis.data.go.kr/B551182/diseaseInfoService"
const SEARCH_DISEASES_BASE_URL = ...
http-proxy-middleware
를 사용해보려 헀으나 잘 되지 않아 추후에 진행해보려고 한다.