블로그에 글을 추가하거나 삭제
Optimistic Update : 서버 호출이 제대로 잘 진행될 것으로 알고 진행 아니면 롤백
쿼리 무효화 : 서버에서 리페치를 하여 클라이언트에 있는 데이터와 서버데이터를 일치 시킨다.
useQuery와 비스무리
데이터를 저장하지 않으므로 쿼리키가 피필요하지 않다.
isLoading은 존재하지만, isFetching은 없다.
useMutation도 useQuery 처럼 몇번 시도할지 정할 수 있다.
const deleteMutation = useMutation((postId)=>{deletePost(postId)})
// onClick에서 mutate 함수 실행
<button onClick={()=>deleteMutation.mutate(postId)}>Delete</button>