Javascript 如何在不更改刷新页面的情况下将参数url重写为NextJS中的目录?
好吧,这可能很简单,但我搞不懂 每当我在url中键入/login时,我只想停留在主页上,而不是重定向到/pages/login(现在是404)。我还需要将其保留为GET参数以切换我的LoginModalJavascript 如何在不更改刷新页面的情况下将参数url重写为NextJS中的目录?,javascript,next.js,Javascript,Next.js,好吧,这可能很简单,但我搞不懂 每当我在url中键入/login时,我只想停留在主页上,而不是重定向到/pages/login(现在是404)。我还需要将其保留为GET参数以切换我的LoginModal import Link from 'next/link' // components/Header.js <Link href="/?login" as="/login"> <LoginButton /> </Link
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
从“下一个/链接”导入链接
//组件/Header.js
//组件/Auth.js
常量Auth=()=>{
const router=useRouter()
返回(
{'login'在router.query&&}
{router.query中的“register”&&}
)
}
//pages/index.js
常数索引=()=>{
返回(
)
}
//pages/login.js不存在
谢谢大家! 这已在NextJS更新9.5中通过重写解决
它的工作原理就是这样。这一问题已在NextJS更新9.5中通过重写解决 它就这样完美地工作着
// nextjs.config.js
module.exports = {
async rewrites() {
return [
{
source: '/login',
destination: '/?login',
},
{
source: '/register',
destination: '/?register',
},
]
},
}