저번 포스팅에서는 컴포넌트를 특정 시점에 Preloading 하는 것을 기록했었다. (이후 업로드 예정,, 실수로 삭제해버렸기 때문에^^)
[WPO] 컴포넌트 Preloading
.. 임시저장 되어있던 이 포스팅.. 모르고 삭제해버려서 다시 쓰는^^.. 예전 글에서 Lazy Loading을 통해 Code Splitting 하는 과정을 기록해놨었다. 이 Lazy Loading에는 단점도 있는데..! Lazy 로딩을 통해 최
yexjinitlog.tistory.com
이번에는 이미지를 Preloading 해보자!
Modal 을 선택했을 경우, Modal 내부 이미지들 중에 가장 먼저 뜰 대문사진이 다른 이미지들과 함께 로딩이 되어 느리게 뜨는 것을 경험해본적이 있을 것이다.
이 Modal의 대문? 대표? 사진을 먼저 로딩하는 최적화 방법을 기록해보고자 한다!
🚫 근데, 컴포넌트 같은 경우에는 import로 Preloading하면 되는데 이미지는 어떻게 Preloading 할까?
→ 이미지를 화면에 노출하지 않아도 로드하는 방법이 하나있다! 바로 Image() 객체를 이용해보자
📌 Image() 객체
- 이미지를 화면에 노출하지 않아도 로드하는 방법
Image() 객체를 이용해 이미지 Preloading 하는 코드
useEffect(()=> {
LazyImageModal.preload()
const img = new Image()
img.src = 'https://stillmed.olympic.org/media/Photos/2016/08/20/part-1/20-08-2016-Football-Men-01.jpg?interpolation=lanczos-none&resize=*:800'
}, [])
요롷게 이미지가 모달컴포넌트가 preload될 때, image도 바로 로드되도록 !
Reference
Inflearn : 프론트엔드 개발자를 위한, 실전 웹 성능 최적화(feat. React)
'Web Performance Optimization' 카테고리의 다른 글
[WPO] 이미지 지연(Lazy) 로딩 : IntersectionObserver (0) | 2022.09.20 |
---|---|
[WPO] 컴포넌트 Preloading (0) | 2022.09.15 |
[WPO] transform을 이용한 애니메이션 최적화 (0) | 2022.09.13 |
[WPO] 브라우저 렌더링 과정 : Critical Rendering Path, Reflow, Repaint (0) | 2022.09.13 |
[WPO] Code Splitting을 통한 최적화 (feat. cra-bundle-analyzer) (0) | 2022.09.12 |