Nextjs-toploader란?
Next.js 애플리케이션에서 페이지 전환 시 상단에 로드 애니메이션(Top Loading Bar)를 표시하는 간단한 패키지
npm install nextjs-toploader
# 또는
yarn add nextjs-toploader
_layout.tsx_
export default function RootLayout({
children,
}: Readonly<{
children: React.ReactNode;
}>) {
return (
<html lang="en">
<body className={"antialiased"}>
<NextTopLoader color="#334155" showSpinner={true} height={3} />
<Header />
<FullScreenContainer>{children}</FullScreenContainer>
</body>
</html>
);
}
useRouter 훅을 통한 페이지 라우팅 시에도 해당 로더를 사용할 수 있다.
import { useRouter } from "nextjs-toploader/app";
const router = useRouter();
const handleDelete = () => {
setIsOpen(false);
router.push("/");
};
props가 전달되지 않으면 아래와 같은 기본 구성이 적용된다고 한다.
<NextTopLoader
color = "#2299DD"
initialPosition = { 0.08 }
crawlSpeed = { 200 }
height = { 3 }
crawl = { true }
showSpinner = { true }
easing = "ease"
speed = { 200 }
shadow = "0 0 10px #2299DD,0 0 5px #2299DD"
template = '<div class="bar" role="bar"><div class="peg"></div></div>
<div class="spinner" role="spinner"><div class="spinner-icon"></div></div>'
zIndex = { 1600 }
showAtBottom = { false }
/>