스크롤박스 컴포넌트

가로 스크롤과 네비게이션 버튼을 활용한 이미지 갤러리 구현

React 방식 Intersection Observer

핵심:Intersection Observer + React Hooks - React의 상태 관리와 Intersection Observer를 결합하여 스마트한 네비게이션 버튼 제어

✅ 장점: 선언적 상태 관리, 컴포넌트 재사용성, 자동 메모리 정리, 타입 안전성, 개발자 경험 우수

❌ 단점: 번들 크기 증가, 런타임 오버헤드, 학습 곡선, 복잡한 상태 관리

💡 사용 시나리오: React 기반 프로젝트, 복잡한 상태 관리가 필요한 경우, 팀 개발 환경

🔧 동작 방식:useIntersectionObserverV2 훅으로 스크롤 경계를 감지하고, useState로 네비게이션 버튼 상태를 관리하며,useCallback으로 스크롤 함수 최적화

  • 현대적인 회의실
  • 밝은 사무실 공간
  • 미니멀한 디자인
  • 자연광이 풍부한 공간
  • 현대적인 인테리어
  • 깔끔한 사무 환경
  • 전문적인 분위기
  • 효율적인 공간 활용
  • 모던한 디자인
  • 편안한 업무 환경
  • 세련된 인테리어
  • 조용한 회의 공간
  • 창의적인 작업 환경
  • 집중할 수 있는 공간
  • 프로페셔널한 분위기
  • 효율적인 레이아웃
  • 현대적인 사무실
  • 깔끔한 디자인
  • 전문적인 환경
  • 편안한 업무 공간

Vanilla JS 방식 DOM 조작

핵심: 순수 JavaScript + DOM API - 프레임워크 없이 순수 JavaScript로 직접 DOM을 조작하여 스크롤박스 구현

✅ 장점: 가벼운 번들 크기, 빠른 실행 속도, 프레임워크 의존성 없음, 직접적인 DOM 제어, 높은 성능

❌ 단점: 수동 DOM 관리, 메모리 누수 위험, 코드 재사용성 낮음, 유지보수 어려움

💡 사용 시나리오: 가벼운 웹사이트, 성능이 중요한 프로젝트, 프레임워크 사용 불가능한 환경

🔧 동작 방식: IntersectionObserverAPI로 스크롤 경계를 감지하고, classList로 네비게이션 버튼 상태를 제어하며, scrollIntoView로 부드러운 스크롤 이동 구현

Vanilla JS ScrollBox