useMutation xử lý write operations (POST/PUT/DELETE) — khác useQuery chỉ đọc.
Cung cấp mutate() (fire-and-forget) hoặc mutateAsync() (trả về Promise).
States: isPending, isError, isSuccess, data, error.
Optimistic update flow:
onMutate: cancel ongoing queries, snapshot data cũ, set cache mới ngay → UI cập nhật tức thì.onError: nhận snapshot từ onMutate context, rollback cache.onSettled: invalidate queries để sync với server
Ví dụ thực tế: user like bài viết → heart đỏ ngay lập tức (optimistic), nếu API fail → rollback heart về trắng.