일단 제가 아는 선(현재 프로젝트에서 적용한)에서의 내용만 정리해보겠습니다. 틀린 부분이 있다면 바로 알려주세요!
그리고 사용하시다가 새로운 옵션이나 새로운 내용, 더 좋은 사용법을 알게되었다면 이 문서에 작성해주세요 😁
react-query는 서버의 상태를 관리하는 라이브러리 이다.
공식사이트에서 말하는 서버의 상태란 아래와 같다.
클라이언트에서 제어하지 않는 원격에서 관리되고 유지되는 데이터
데이터 Fetching, Updating에 비동기 API가 필요
다른 사용자들과 공유되는 상태이기 때문에 내가 모르는 사이에 변경될 수 있음
신경쓰지 않으면 잠재적으로 out of date가 될 수 있음
Is persisted remotely in a location you do not control or own
Requires asynchronous APIs for fetching and updating
Implies shared ownership and can be changed by other people without your knowledge
Can potentially become "out of date" in your applications if you're not careful
내가 생각하는 react-query의 사용 목적중 하나는 기존 redux를 사용할 때 비동기 처리를 하기위해선 redux-thunk
나 redux-saga
를 사용해야 했는데 많은 양의 보일러플레이트 코드가 필요 했는데, react-query
를 사용하면 보일러플레이트 코드의 크기가 상당히 작아진다! 밑에 있는 예시 코드를 보면 조금 더 와닿을 것이다.