useMutation + invalidate
Mutar y refrescar la caché.
const qc = useQueryClient();
const mutation = useMutation({
mutationFn: (body: Body) =>
fetch('/api/items', { method: 'POST', body: JSON.stringify(body) }),
onSuccess: () => qc.invalidateQueries({ queryKey: ['items'] }),
});
Invalidar mantém a UI alinhada com o servidor.