React Suspense

지헌·2024년 10월 4일
1

Suspense란?

React Suspense(리액트 서스펜스)는 컴포넌트의 렌더링을 일시 중지하고 데이터 로딩을 기다릴 수 있게 해주는 React의 기능으로 자연스러운 사용자 경험을 유도할 수 있습니다.

코드 스플리팅(Code Splitting)과 함께 사용하면 초기 로딩 속도를 개선하는 데에도 도움이 됩니다.

궁극적으로 로딩 상태를 선언적으로 처리할 수 있어서
1. 코드의 가독성
2. 유지보수성 향상
3. 사용자 경험을 개선

효과를 기대할 수 있습니다.

Suspense의 핵심 개념

lazyfallback이 있습니다.

lazy는 동적 임포트를 통해 컴포넌트를 필요한 시점에 로드하는 기능입니다. 이를 통해 초기 번들 크기를 줄이고 초기 로딩 속도를 개선할 수 있습니다.

fallback은 컴포넌트가 로딩 중일 때 보여줄 UI(ex : 스켈레톤 UI, 로딩 스피너)를 설정하는 props 입니다. 이를 통해서 사용자에게 콘텐츠가 로딩 중임을 알리고 현재 애플리케이션이 동작 중임을 알릴 수 있습니다.

추가적으로 children은 최종적으로 실제 UI 렌더링 시켜주는 props입니다.

React Query의 isLoding과 차이점
isLoding은 전체 페이지라면 Suspense는 비동기 작업이 끝날 때까지 해당 컴포넌트를 대체할 UI를 보여주는 기능

profile
차곡차곡 그만 쌓아올리고 취업해서 부딪쳐보고 싶은

0개의 댓글