리액트 쿼리를 사용한 프로젝트를 만들기위해 리액트쿼리에대한 개념 정리 공간입니다.
useState
useReducer
useContext(ContextAPI)
context
는 provider
로 주입된 하위의 모든 children component
를 리렌더시키므로 Global state관리를 위해 사용하지 말아야 한다. Context API
는 상태관리 솔루션이 아님 Server state
는 데이터를 가져와서 페이지에 그리는 것뿐만아니라, 데이터 fetching동안 loading표시를 띄워야하고 서버 오류가 난 경우 그에 맞는 화면을 표시해야 한다. SWR
, React Query
라이브러리 추천global state
관리로서도 사용할 수 있다.react-query
는 서버 데이터 관리를 위한 라이브러리로, API호출, 캐시 및 상태관리, 오류처리 등의 작업을 간단하게 처리할 수 있도록 도와준다.
react query
로 간단하고 효율적으로 처리 할 수 있다. react query
는 데이터를 캐시하고 자동으로 재시도하며, 데이터에 대한 오류 처리를 수행하고 데이터상태와 흐름을 추적할 수 있다. 또한 라이브러리 사용자의 입맛에 맞게 커스터마이징이 가능하다. promise
기반 메서드(GET
및 POST
포함)와 함께 쿼리를 사용할 수 있다. 즉, 데이터를 가져오는데 사용되는데, 일반적으로 REST API호출, GraphQL쿼리, Websocket등을 통해 데이터를 가져온다. 쿼리는 useQuery
훅을 사용한다. useQuery
는 비동기적으로 데이터를 가져오고, 데이터를 캐싱하여 이후의 요청에서 동일한 데이터를 다시 가져오지 않도록 한다. useMutation
훅을 사용한다.useMutation
은 비동기적으로 데이터를 수정하고, 데이터를 업데이트하여 UI를 다시 렌더링한다.useMutation
훅을 사용하여 데이터를 수정하면, 해당 데이터를 가져오는 목든 쿼리를 자동으로 무효화한다. 또한 useQuery
훅에서 제공하는 여러가지 옵션을 사용하여 수동으로 제어할 수 있다. react의 상태관리 종류 4가지
react-query 시작하기 (feat. Tanstack)
설치 npm install react-query@^3
https://onlydev.tistory.com/114
노드16버전으로 변경필요
QueryClinet is not a constructor 오류시 import
주소확인필요
import { QueryClinet, QueryClientProvider } from "react-query/";
슬래시!!!