Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FE] feat : 이미지 스켈레톤 적용 #1055

Open
wants to merge 6 commits into
base: develop
Choose a base branch
from

Conversation

BadaHertz52
Copy link
Contributor


🚀 어떤 기능을 구현했나요 ?

  • 이미지를 children으로 받아서, 해당 이미지 로드하는 동안 스켈레톤을 띄우는 컴포넌트를 구현했어요.
  • 구현한 컴포넌트를 이미지 로딩 시간이 걸리는 홈 페이지 캐러셀, 리뷰 연결 페이지 이미지에 모두 적용했어요.

이미지 사이즈

이미지에 대한 자유로운 스타일링과 기존에 사용된 이미지에 적용을 위해, children으로 이미지를 받아오도록 했어요.

다만, 스켈레톤이 화면에 제대로 표시되기 위해 이미지 로드되기 전부터 해당 이미지 사이즈가 필요했어요. 그래서 width, height를 사이즈로 받아오도록 했어요.

🔥 어떻게 해결했나요 ?

  • 로컬에서 작업하면 이미지 로딩 속도가 빨라서 임의로 setTimeout으로 로드 속도를 지연시켜서 테스트했어요.

홈 페이지 캐러셀에 스켈레톤 적용 화면

-.mov

리뷰 연결 페이지에 스켈레톤 적용 화면

-.mov

📝 어떤 부분에 집중해서 리뷰해야 할까요?

스켈레톤 디자인

사전에 디자인 회의가 없어서, 제가 임의로 스타일링 했어요. 이에 대한 팀원들 의견이 궁금해요.

  • 스켈레톤에 많이 사용하는 회색톤(기존에 theme에 설정된 lightGray)를 사용했어요.
  • 단색으로 했다가, 애니메이션을 추가해서 이미지 로드될 동안 덜 지루하게/무언가가 진행되고 있다라는 느낌을 주었어요.

📚 참고 자료, 할 말

- 이미지 컴포넌트를 children으로 받아서, 로드 전에는 스켈레톤을 띄우는 컴포넌트 구현
- 스켈레톤 배경색 변경
- 오타 수정
- 슬라이드 너비에 따라 이미지 사이즈 구하는 훅(useSlideImgSize) 생성
- 슬라이드 이미지 스타일 컴포넌트 분리
@@ -0,0 +1,38 @@
import { useEffect, useState } from 'react';
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

구현 배경

홈 페이지의 경우, 이미지가 퍼센트로 설정되어 있고 768px이하에서 height가 설정되어 있지 않아서 이미지에 따라 자동으로 설정되는 상황이었어요. slideRef로 width를 받아올 수 있어서 캐러셀 이미지 비율을 사용해 height를 지정하는 방식을 사용했어요.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

[FE] 이미지 로딩 전에 스켈레톤을 적용한다
1 participant