Skip to content

[Init] 글로벌 라우터 세팅#17

Merged
jeonghoon11 merged 7 commits intodevelopfrom
init/router-setting/#14
Nov 16, 2025
Merged

[Init] 글로벌 라우터 세팅#17
jeonghoon11 merged 7 commits intodevelopfrom
init/router-setting/#14

Conversation

@jeonghoon11
Copy link
Member

@jeonghoon11 jeonghoon11 commented Nov 16, 2025

🔍 관련 이슈 (Related Issues)

📝 변경 사항 요약 (Summary)

  • React Router v7 기반 라우팅 구조 구현
  • GlobalLayout을 통한 전역 레이아웃 적용
  • 코드 스플리팅(lazy loading) 적용

🎯 작업 내용 상세 (Details)

React Router v7 적용

React Router v7의 createBrowserRouter로 라우터를 구성했어요. Component prop으로 GlobalLayout을 설정해 페이지에 전역 레이아웃을 적용했어요. GlobalLayout 컴포넌트에서는 Suspense와 Outlet으로 자식 라우트를 렌더링하고 UX를 고려해 ScrollRestoration을 추가해 페이지 이동 시 스크롤 위치를 복원하도록 했어요. 따라서 추후 css 설정이 끝나면 이 곳에서 모바일 웹 사이즈를 포함한 global css 적용을 진행할 예정이에요.

코드 스플리팅 (Lazy Loading) 적용

모든 페이지 컴포넌트에 lazy()를 적용했어요. GlobalLayout에서 Suspense로 lazy 로딩된 컴포넌트를 처리하고 fallback처리하도록 했어요. 이번 프로젝트에서 Loading 상태일 때의 UI는 없어서 fallback은 null로 설정해뒀어요. 추후 로딩 디자인이 생긴다면 여기에 추가하면 됩니다. @Sohyunnnn

lazy를 사용한 이유는 코드 스플리팅을 통한 성능 최적화를 위함이에요. 코드 스플리팅을 사용하면 페이지별로 번들을 분리해 필요한 페이지만 로드할 수 있지만 lazy없이 일반적인 import를 쓰면 모든 페이지 코드가 초기 번들에 포함돼요.

라우트 구성

  • / - 홈 페이지
  • /select-ticket - 티켓 선택 페이지
  • /ticket-detail/:ticketId - 티켓 상세 페이지

📸 스크린샷 (Screenshots)

2025-11-16.8.09.41.mov

💬 리뷰어 참고사항 (Notes for Reviewers)

@jeonghoon11 jeonghoon11 self-assigned this Nov 16, 2025
@jeonghoon11 jeonghoon11 linked an issue Nov 16, 2025 that may be closed by this pull request
@jeonghoon11 jeonghoon11 changed the title [Init] 프로젝트 라우터 설정 [Init] 글로벌 라우터 세팅 Nov 16, 2025
Copy link
Collaborator

@Sohyunnnn Sohyunnnn left a comment

Choose a reason for hiding this comment

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

수고하셨습니다 :)
코드 스플리딩 적용까지 👍👍

@gyeongbibin
Copy link
Collaborator

고생하셨습니다잇 approve할게욥

@jeonghoon11 jeonghoon11 merged commit 2743cf0 into develop Nov 16, 2025
1 check passed
@jeonghoon11 jeonghoon11 deleted the init/router-setting/#14 branch November 16, 2025 13:16
@jeonghoon11 jeonghoon11 added 🦊 정훈 🎉 init 프로젝트 세팅 labels Nov 16, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🎉 init 프로젝트 세팅 🦊 정훈

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Init] 라우터 설정

3 participants