Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 훅
- 알고리즘 #프로그래머스 #코딩테스트 #자바스크립트
- 완전탐색
- 다이나믹프로그래밍
- usedebugvalue
- 위상정렬
- recoil
- 자바스크립트
- 리코일
- 드래그앤드롭
- 알고리즘
- 프로그래머스
- 덕타이핑
- React
- 프로그래머스 #알고리즘 #자바스크립트
- 스티커
- useContext
- react-beautiful-dnd
- javascript
- 리액트
- useLayoutEffect
- 타입스크립트
- 백준
- 알고리즘 #코딩테스트 #프로그래머스 #자바
- 백준 #알고리즘 #자바스크립트
- Suspense
- useRef
Archives
- Today
- Total
몽환화
[React] Suspense 사용해보기 본문
https://react.dev/reference/react/Suspense
<Suspense> – React
The library for web and native user interfaces
react.dev
자식 요소를 로드하기 전 까지 화면에 대체 UI를 보여주는 React가 제공하는 컴포넌트.
<Suspense fallback={<Loading />}>
<SomeComponent />
</Suspense>
//---------------------------------------------------
import { Suspense } from 'react';
const OtherComponent = React.lazy(() => import('./OtherComponent'));
const AnotherComponent = React.lazy(() => import('./AnotherComponent'));
function MyComponent() {
return (
<div>
<Suspense fallback={<div>Loading...</div>}>
<OtherComponent />
<AnotherComponent />
</Suspense>
</div>
);
}
자식 요소의 컨텐츠가 로드되는 동안 보여지는 UI로, 사용자 경험 개선 효과를 제공한다
fallback : 실제 UI가 로드되기 전까지 대신 렌더링 되는 UI
children : 궁극적으로 렌더링하려는 UI, children의 렌더링 지연 시 fallback이 렌더링됨
lazy : 동적 임포트를 통해 컴포넌트를 필요한 시점에 로딩 - 초기 번들 크기 감소
초기 렌더링 시 bundle.js에 Suspense가 적용되지 않은 요소들을 불러옴
이후 Suspense 컴포넌트 호출 시 필요한 파일을 요청
lazy loading을 통한 비동기 호출 후 pending되는 동안 노출될 대체 컴포넌트의 역할
Suspense 내부의 트리는 하나의 단위로 취급되어 이 중 하나라도 지연되면 모든 구성 요소가 fallback으로 대체된다.
데이터를 로딩하는 컴포넌트가 Suspense의 직접적인 자식일 필요는 없다.
--추후수정
'Front > React' 카테고리의 다른 글
[React] react-beautiful-dnd 간단하게 시작해보기 (2) | 2024.07.13 |
---|---|
[React] Recoil 뜯어보기 (0) | 2024.05.22 |
[React] useLayoutEffect, useDebugValue (0) | 2024.05.06 |
[React] useImperativeHandle 물고뜯기 (0) | 2024.05.06 |
[React] useReducer 물고뜯기 (0) | 2024.05.03 |