用户进入主页后,我正在使用 Next.js
router.replace
。它工作得很好,但问题是后退按钮仍然处于启用状态。如果我点击后退按钮,它会转到 Chrome 的默认页面。我怎样才能摆脱这个?有人有什么想法吗?
router.replace({
pathname: '/home',
});
您可以做的是按照
Ragul CS的建议使用
router.push
- 但我会添加检查和重定向。
如果用户位于登录页面,如果他们已登录,我们可以自动将他们重定向到主页,反之亦然,如下所示:
export async function middleware(request: NextRequest, _: NextResponse) {
if(request.nextUrl.pathname === 'login') {
// if user is signed in - redirect to /home
}
if(request.nextUrl.pathname === 'home') {
//if user is not signed in - redirect to /login
}
}
这样您就不必更改后退按钮的工作方式。