Next.js 에서는 next/dynamic 이란 것을 지원합니다.
이는 페이지를 랜더링 할때 필요한 JavaScript의 양을 줄여서 초기 로딩 성능을
향상시킬수 있습니다.
import dynamic from 'next/dynamic'
import { Suspense } from 'react
// suspense 사용
const DynamicButton = dynamic(() => import('@components/common/button'), {
suspense: true,
});
// suspense 미사용
const DynamicButton = dynamic(() => import('@components/common/button'), {
loading: () => <div>Loading...</div>
});
export default function Home() {
return (
// suspense 사용
<Suspense fallback={`Loading...`}>
<DynamicButton />
</Suspense>
// suspense 미사용
<DynamicButton />
)
}