Posted on:
Last modified:
Nextjs 中的 Link 的 href 对象如果传的是字典,直接调用的是 nodejs 的 URL 库,不能自定义 escape, 比如说空格会被强制格式化成加号,而不是 %20. 而且好像它使用的这个 API 在 11.0 已经 deprecated 了,所以需要啥 url 的话,还是自己格式化吧~
Nextjs 页面跳转的时候不会触发浏览器 Loading Spinner, 也就是转动的小圆圈,所以需要自己实现 一下,可以用 nprogress
在 _app.js
中:
import Router from 'next/router';
import NProgress from 'nprogress'; //nprogress module
import 'nprogress/nprogress.css'; //styles of nprogress
//Binding events.
Router.events.on('routeChangeStart', () => NProgress.start());
Router.events.on('routeChangeComplete', () => NProgress.done());
Router.events.on('routeChangeError', () => NProgress.done());
function MyApp({ Component, pageProps }) {
return <Component {...pageProps} />
}
export default MyApp;
tsconfig.json
中增加 baseUrl
// tsconfig.json or jsconfig.json
{
"compilerOptions": {
+ "baseUrl": "./src"
}
}
更好的方式是添加一个 prefix,比如 @
来和其他的库区分:
// tsconfig.json or jsconfig.json
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"@/components/*": ["components/*"]
}
}
}
使用:
// pages/index.js
import Button from '@/components/button'
async function getInitialProps (ctx) {
return ctx.req.headers.cookie
}
© 2016-2022 Yifei Kong. Powered by ynotes
All contents are under the CC-BY-NC-SA license, if not otherwise specified.
Opinions expressed here are solely my own and do not express the views or opinions of my employer.
友情链接: MySQL 教程站