Suspense와 이미지 적재하기
const imagePromise = new Promise((resolve) => {
const img = new Image(); // 새 이미지 객체 생성
img.onload = () => rseolve(img) // 이미지 적재가 끝나면 프로미스 해소
img.src = "path/to/image/image.png" // 소스 지정해 이미지 적재 시작
})const Img = ({src, alt, ...props}) => {
const {data: imgObject} = useQuery(
src,
() => new Promise((resolve) => {
const img = new Image();
img.onload = () => resolve(img);
img.src = src;
}),
{suspense: true}
)
return <img src={imgObject.src} alt={alt} {...props} />
}리엑트 쿼리를 사용해 이미지나 데이터를 미리 적재하는 방법
Last updated