AI Briefing

페이지 주소가 바뀌어도 자연스럽게 이어지는 애니메이션 구현하기

·2019.04.10 09:00

GatsbyJS에서 History API와 react-transition-group을 활용해 자연스러운 페이지 전환 애니메이션을 구현하는 방법을 소개한다.

SPA(Single Page Application)는 자바스크립트 실행 컨텍스트가 유지되므로, 페이지 전환 시에도 끊김 없는 애니메이션 처리가 가능하다. GatsbyJSHistory API를 활용해 페이지 히스토리를 처리하므로 이러한 구현이 가능하다.

페이지 전환 애니메이션을 구현할 때 주의할 점은 레이아웃 컴포넌트의 인스턴스가 페이지 전환 시 언마운트되지 않아야 한다는 것이다. 이를 위해 gatsby-plugin-layout을 사용하면 레이아웃을 페이지 전환 중에도 유지할 수 있다.

구체적인 구현 단계는 다음과 같다.

  • Link 컴포넌트를 사용하여 브라우저의 기본 동작 대신 History API를 사용하도록 설정한다.
  • react-transition-group 라이브러리의 TransitionGroupTransition 컴포넌트를 활용한다.
  • location.pathnamekey 값으로 전달하여 페이지 변경을 감지한다.
  • CSS를 통해 entering, exiting 등 상태에 따른 투명도와 위치를 조절한다.

이 요약은 원문 이해를 돕기 위한 큐레이션입니다. 저작권은 원저작자에게 있으며, 정확한 내용과 맥락은 원문을 확인하세요.

요약 오류, 출처 표기 문제, 삭제 요청은 문의 · 건의로 알려주세요.