TanStack Query와 Zustand 차이
🔘 ****TanStack Query (구 React Query)
- 서버 데이터를 관리하는데 사용되는 라이브러리다.
- 서버 API 호출을 추상화하고, API 호출 결과를 캐시, 무효화 및 재요청 등의 기능을 제공하여 동기화 문제를 해결할 수 있다.
- 비동기 데이터 관리 라이브러리로, 서버 상태를 효율적으로 관리할 수 있도록 도와준다.
- 즉, API 요청, 캐싱, 동기화, 리페치(re-fetch), 에러 핸들링 등을 자동화하는 역할을 한다.
🚀 TanStack Query를 사용하는 이유
1️⃣ 자동 캐싱 & 상태 관리
- 기존
useState
+ useEffect
조합은 API 호출 후 직접 데이터를 관리해야 함.
- TanStack Query는 요청한 데이터를 자동 캐싱하고, 필요한 시점에 자동으로 갱신해 줌.
2️⃣ 자동 Re-fetch
- 데이터가 변경되면, 관련된 UI 컴포넌트가 자동으로 최신 데이터를 반영함.
3️⃣ 에러 핸들링 내장
- API 요청이 실패했을 때 자동으로 재시도(
retry
)할 수 있음.
4️⃣ 불필요한 API 호출 감소
- 같은 데이터를 여러 곳에서 요청하면 한 번만 호출하고 캐싱된 데이터를 재사용.
:zustand: Zustand
- 클라이언트 데이터를 관리하는데 사용되는 라이브러리다.
- 전역적인 상태를 관리할 때 복잡한 상태 관리를 간단하게 처리할 수 있다.