코드 분할
- 번들링은 훌륭하지만 앱이 커지면 번들도 커짐 => 초기화 로딩 비용 증가
- 그렇기 때문에 번들을 나누어야 함 = 코드 분할
- Webpack, Browserify 같은 번들러가 지원하는 기능
- 코드 분할을 통해 지연로딩하게 도와줌
React.lazy
- React.lazy 함수를 사용하면 동적 import를 사용해서 컴포넌트를 랜더링 할 수 있음
// Before
import OtherComponent from './OtherComponent';
// After
const OtherComponent = React.lazy(() => import('./OtherComponent'));
- lazy 컴포넌트는 suspense 하위에서 렌더링 되어야 함
- 기다리는 동안 예비 컨텐츠를 보여줄 수 있음
import React, { Suspense } from 'react';
const OtherComponent = React.lazy(() => import('./OtherComponent'));
const AnotherComponent = React.lazy(() => import('./AnotherComponent'));
function MyComponent() {
return (
<div>
<Suspense fallback={<div>Loading...</div>}>
<section>
<OtherComponent />
<AnotherComponent />
</section>
</Suspense>
</div>
);
}
'React' 카테고리의 다른 글
React Native Webview 디버깅 가이드 (0) | 2022.07.07 |
---|---|
React-Native 새로운 아키텍쳐 살펴보기 (0) | 2022.05.17 |
[React-Native 공식문서] 1. Core Components And Native Components (0) | 2022.03.20 |
4장. Ducks 구조와 redux-actions 사용하기 (0) | 2019.10.29 |
3장. Immutable.js 익히기 (0) | 2019.10.28 |