빠른 네트워크 사용자를 위한 로딩 화면 최적화 전략 #299
sgoldenbird
started this conversation in
UX Improvement
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
빠른 네트워크 환경의 사용자에게 불필요한 로딩 화면을 보여주지 않기 위해, 로딩 UI를 일정 시간 후에만 표시하는 지연 렌더링 전략을 도입했습니다. 이를 통해 화면 깜빡임과 UX 불쾌감을 최소화했습니다.
목적
구현 구조
1. 전역 로딩 상태 관리 (
App.tsx)최상위 App 컴포넌트에서 초기 로딩(Splash)과 페이지 전환 로딩(PendingUI)을 다음과 같이 제어했습니다.
초기 진입 로딩 (SplashScreen)
setTimeout으로 1초 이상 걸릴 때만shouldShowSplash상태를 true로 설정페이지 전환 로딩 (PendingUI)
useNavigation()을 사용해navigation.state를 추적idle상태가 아니고 1초 이상 경과하면 PendingUI 표시2. 컴포넌트 단위 로딩 (
LoadingSpinner)지연 렌더링이 가능한 공통 로딩 스피너
appearAfterprop으로 몇 밀리초 후에 표시할지 설정 (기본값:1000ms)3. 사용 예시: 사이드바에서 로딩 시
appearAfter를 설정하여 빠르게 응답되는 경우에는 로딩 UI를 생략하여 UX 향상성과
setTimeout을 활용한 지연 표시로 렌더링 흔들림 방지로딩 영상
splash, pendingUI
spinner
Beta Was this translation helpful? Give feedback.
All reactions