-
Notifications
You must be signed in to change notification settings - Fork 0
react query
react-query는 클라이언트 상태의 캐시 데이터를 관리하는데 사용되는 코드를 단 몇줄의 코드로 대체할 수 있다.
대다수의 애플리케이션에서 모든 비동기 코드를 react-query로 마이그레이션한 후 남겨지는 전역 상태는 일반적으로 매우 적다.
There are still some circumstances where an application might indeed have a massive amount of synchronous client-only state (like a visual designer or music production application), in which case, you will probably still want a client state manager. In this situation it's important to note that React Query is not a replacement for local/client state management. However, you can use React Query along side most client state managers with zero issues.
예제를 하나보자. 전역 상태관리 라이브러리에 의해 관리되는 상태들이 있다.
const globalState = {
projects,
teams,
tasks,
users,
themeMode,
sidebarStatus,
}
여기서 server-state들을 react-query로 옮기면 전역 상태는 많이 제거된다.
(아래 남은 상태는 MOZI와 유사하다.)
const globalState = {
themeMode,
sidebarStatus,
}
이 뜻은 기존의 서버 상태를 관리하기위해 사용했던 boilerplate code를 많이 제거할 수 있음을 의미한다.
단지 useQuery
나 useMutation
으로 이동시키면 된다.
서버상태를 많이 제거하면 클라이언트 상태조차 매우 적기 때문에 전역 상태관리 라이브러리가 필요없어질 수도 있다.
react-query의 역할은 분명하다.
서버의 상태를 관리하기위해 필요했던 boilerplate code를 제거한다. 그리고 단 몇줄의 코드로 대체한다.