- 외부 의존성을 그대로 사용하지 않고 내부에서 새롭게 정의한 인터페이스를 사용한다면 외부 변경으로인한 영향을 최소화할 수 있다는 장점이 있다.
- **이때 큰 비용을 들이지 않고 적용할 수 있도록 간결한 인터페이스를 구현하는 것이 핵심**
#### 어떻게 해결 할것인가
- useQuery **잘** 격리한다.
- useRequest는 간결하게 적용할 수 있게 한다.
- useMutation에 대해서도 고민해보기 (같은 lib)
- coupling(결합)이 최소화된, 유지 가능한 구조를 고민한다.
#### ToDo List
- [ ] #5
- [x] useQuery 간결하게 인터페이스 구현 (typescript)
- [x] 적용
- [x] 최종 리팩터링 및 pr
미션 : useRequest에 분리된 인터페이스 적용
세부 사항
useRequest는 API request를 보내주는 모듈
react-query에 의존성 역전 원칙을 적용하기 위해 사용
Service에 useQuery를 그대로 적용한 코드는 아래와 같다.
import { UserService } from "../src/services";
const Home: NextPage = () => { const { data: me } = useQuery("me", UserService.me, { refetchInterval: 500, });
console.log("내 정보입니다", me);
}