Files
timeline-frontend/src/components/Hooks/useFetchImageUrl.ts
2025-08-06 18:41:32 +08:00

33 lines
787 B
TypeScript

import { useRequest } from '@umijs/max';
import { useEffect, useState } from 'react';
import {fetchImageLowRes} from "@/services/file/api";
const useFetchImageUrl = (imageInstanceId: string) => {
const [imageUrl, setImageUrl] = useState("error");
const { data: response, run, loading } = useRequest(
() => {
return fetchImageLowRes(imageInstanceId);
},
{
manual: true,
onSuccess: (data) => {
console.log(data);
},
},
);
useEffect(() => {
if (response) {
setImageUrl(URL.createObjectURL(response));
} else {
setImageUrl("error");
}
}, [response]);
useEffect(() => {
if (imageInstanceId) {
run();
}
}, [imageInstanceId]);
return {imageUrl, loading};
};
export default useFetchImageUrl;