使用 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} />; </> ); }
在 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