개요
- React를 위한 Data Synchronization Library
- React application에서 서버 상태를 fetching, caching, synchronizing, updating 작업을 쉽게 만들어 줍니다.
서버 상태
- 원격에 위치한 공간에 저장되며 앱이 소유하거나 제어하지 않습니다.
- 데이터를 가져오고 업데이트하기 위해선 비동기 API가 필요합니다.
- 다른 사람과 함께 사용하며, 내가 모르는 사이에 업데이트될 수 있습니다.
- 앱에서 사용하는 데이터가 “유효 기간이 지난” 상태가 될 가능성을 가집니다.
React Query 장점
- 캐싱
- 서버 데이터 중복 호출 제거 (따닥 방지)
- 만료된 데이터를 백그라운드에서 제거하기
- 데이터가 언제 만료되는지 알고 있기
- 만료된 데이터는 가능한 빨리 업데이트하기
- 페이지네이션, 레이지 로딩 데이터의 성능 최적화
- 서버 상태의 메모리 관리 및 가비지 콜렉션
- 쿼리 결과의 구조 공유를 통한 메모이제이션
React Query 단점