useQueryloading, error, data 상태 관리const { data, isLoading, isError } = useQuery("users", fetchUsers);
useMutation| 기능 | 설명 |
|---|---|
| 자동 캐싱 | 동일 쿼리는 최초 1회 요청 후 캐시 사용 |
| 자동 리페치 | 조건 만족 시 자동 재요청 (예: 창 포커스 시 최신 데이터) |
| 실패 재시도 | 네트워크 오류 시 자동 재시도 |
| 오프라인 지원 | 오프라인 상태에서도 캐시 사용 가능, 온라인 복귀 시 재요청 |
npm install @tanstack/react-query@latest
const fetchUsers = async () => {
const response = await axios.get("http://localhost:8080/ch09/user2");
return response.data;
};
GET 요청하여 받아옵니다.axios.get을 사용해서 서버에서 사용자 목록을 불러오고, 그 데이터를 반환합니다.const deleteUser = async (uid) => {
const response = await axios.delete(
`http://localhost:8080/ch09/user2/${uid}`
);
return response;
};
uid)를 받아서 DELETE 요청을 보냅니다.