리엑트의 대표적인 성능 개선 태크닉 (Lazy import)

  1. SPA의 특징은 다음과 같다.
    • npm build를 발행하면
    • js파일 하나에 모든 코드를 다 쑤셔 넣는다 = 사이즈가 매우 크다.
    • 이러면 로딩속도가 느려질 수 밖에 없다.
    • 이를 해결하려면 어떤방법을 써야할까?

사용자에 우선 보여줄것 보여준 이후 > 백그라운드에서 추가 로드를 진행하면된다!

/// App.js
const Detail = lazy(() => import('./routes/Detail.js'));
const Cart = lazy(() => import('./routes/Cart.js'));

단점

Suspense는 로딩 화면을 꾸밀 수 있다.

//App.js

import { Suspense } from "react"

...
<Route path="/detail/:id" element={
	<Suspense fallback={<div>로딩중임</div>}>
		<Detail shoes={shoes}/>
    </Suspense>
} />

// 일반적으로 모든 Route컴포넌트를 Lazyload하기 때문에 Routes를 감싸도 무방하다