Next.js 顶部加载条
- 一个使用 nprogress 制作的 Next.js 顶部加载条组件,适用于 Next.js 14 和 React。
安装
使用 npm:
npm install nextjs-toploader
使用 yarn:
yarn add nextjs-toploader
使用方法
导入方式:
import NextTopLoader from 'nextjs-toploader';
在 app
文件夹结构中的 app/layout.js
中使用
在 RootLayout()
的 return()
中的 <body></body>
内添加 <NextTopLoader />
进行渲染:
import NextTopLoader from 'nextjs-toploader';
export default function RootLayout({ children }) {
return (
<html lang="en">
<body>
<NextTopLoader />
{children}
</body>
</html>
);
}
在 pages
文件夹结构中的 pages/_app.js
中使用
在 MyApp()
的 return()
中添加 <NextTopLoader />
进行渲染:
import NextTopLoader from 'nextjs-toploader';
export default function MyApp({ Component, pageProps }) {
return (
<>
<NextTopLoader />
<Component {...pageProps} />;
</>
);
}
在 React、Vite React 或其他基于 React 的框架中使用
在 App.js 的 App()
中的 <Router></Router>
组件内的 return()
中添加 <NextTopLoader />
进行渲染:
import NextTopLoader from 'nextjs-toploader';
const App = () => {
return (
<div>
<Router>
<NextTopLoader />
<Routes>
{/* 在此处添加你的路由 */}
</Routes>
</Router>
</div>
)
}
export default App;
默认配置
如果没有向 <NextTopLoader />
传递任何属性,将应用以下默认配置。
<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}
/>
color
:更改 TopLoader 的默认颜色。initialPosition
:更改 TopLoader 的初始位置百分比,例如:0.08 = 8%
。crawlSpeed
:增量延迟速度,单位为毫秒。speed
:TopLoader 的动画速度,单位为毫秒。easing
:使用缓动的动画设置(CSS 缓动字符串)。height
:TopLoader 的高度,单位为像素。crawl
:TopLoader 的自动增量行为。showSpinner
:是否显示旋转器。shadow
:TopLoader 的平滑阴影。(设置为false
可禁用)template
:为 TopLoader 包含自定义 HTML 属性。zIndex
:定义 TopLoader 的 zIndex。showAtBottom
:在底部显示 TopLoader。(增加 TopLoader 的高度以确保在移动设备上可见)
UPI ID: thesgj@sbi