REST API : 클라이언트-서버 통신에서 HTTP 메서드와 URL을 통해 요청을 식별하고 자원을 주고받는 규칙
*supabase는 REST API가 아님
CORS에러는 브라우저환경에서만!
payload : 서버한테 보내는 데이터그룹
content-type : payload 타입
axios 장점
- json데이터형식을 알아서 변환해줌
- custom intance와 interceptor를 이용한 코드 재사용
- 크로스 브라우징에 유리
get 요청 : axios.get(url[, config]);
post 요청 : axios.post(url[, data[, config]]);
patch 요청 : axios.patch(url[, data[, config]]);
delete 요청 : axios.delete(url,[, config])
*선택적 매개변수 : [, config]
matation : CUD(create,update,delete)
axios custom instance : axios.create({baseURL: ~~~})
middleware : 마치 경유지(건너가는곳)
.interceptors.request.use(성공 callback, 실패 callback)
<QueryClientProvider client={queryClient}>는 main.jsx에!
=> 함수형 컴포넌트가 아니라서 재렌더링 대상이 안됨!
Tanstack Query
isPending : 마치 이륙전, api요청이 아직 서버한테 안감
useQuery , useSelector , context api 공통점 : 읽고 구독함!
useMutation : 객체!
mutate(인자는 mutationFn 인자로!) : 위에 메서드
const addMutation = useMutation({
mutationFn: (newTodo) => ....
})
const onSubmit = async (e) => {
...
addMutation.mutate(newTodo);
};
.invalidateQueries : 무효화!
=> by useQueryClient
서버 상태 - tanstack query
클라이언트 상태 - 리덕스 / context / zustand
'개발 일기' 카테고리의 다른 글
2024-11-29(tanstack query) (0) | 2024.11.29 |
---|---|
2024-11-27(상태관리,zustand) (0) | 2024.11.27 |
2024-11-22(비동기,http상태) (0) | 2024.11.22 |
2024-11-21(피드백) (0) | 2024.11.21 |
2024-11-20(null병합연산자,리액트 렌더링,memo) (1) | 2024.11.20 |