[英]How to refresh a page once automatically right after it loads completely without changing or adding a string in the URL?
[英]How to rewrite a param url as a directory in NextJS without changing page on refresh?
好的,所以它可能很简单,但我无法弄清楚。
每当我在 url 中键入 /login 时,我只想留在主页上而不是重定向到 /pages/login(目前为 404)。 我还需要将其保留为 GET 参数来切换我的 LoginModal。
import Link from 'next/link'
// components/Header.js
<Link href="/?login" as="/login">
<LoginButton />
</Link>
// components/Auth.js
const Auth = () => {
const router = useRouter()
return (
<>
{ 'login' in router.query && <LoginModal />}
{ 'register' in router.query && <RegisterModal />}
</>
)
}
// pages/index.js
const Index = () => {
return (
<>
<Header />
<HomePage />
<Auth />
</>
)
}
// pages/login.js doesn't exist
谢谢!
这已在 NextJS 更新 9.5 中通过 Rewrite https://nextjs.org/docs/api-reference/next.config.js/rewrites 解决
// nextjs.config.js
module.exports = {
async rewrites() {
return [
{
source: '/login',
destination: '/?login',
},
{
source: '/register',
destination: '/?register',
},
]
},
}
它就像那样完美地工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.