我的 Next.JS 应用程序 (404.js) 中有一个自定义 404 页面。在页面上,我想显示一条消息,如 The route <strong>/not-a-route</strong> does not exist
,但是当使用 Next.js 的 useRouter()
时和 router.pathname
,路由器认为我在 /404
而是显示 The route <strong>/404</strong> does not exist
.如何在自定义 404 页面中访问我所在的实际路线?
export const NotFound: React.FC = () => {
const router = useRouter();
console.log(router.pathname) // prints /404
return (
<Layout title='Oops! Something went wrong!'>
<div className={styles.container}>
<h1>Oops! Something went wrong!</h1>
<p>
The route <strong>{router.pathname}</strong> does not exist.
</p>
</div>
</Layout>
);
};
最佳答案
您可以访问 redirected route
作为 router.asPath
。尝试:
import {useRouter} from 'next/router'
export const NotFound: React.FC = () => {
const router = useRouter();
console.log(router.asPath)
return (
<Layout title='Oops! Something went wrong!'>
<div className={styles.container}>
<h1>Oops! Something went wrong!</h1>
<p>
The route <strong>{router.asPath}</strong> does not exist.
</p>
</div>
</Layout>
);
};
关于javascript - 如何访问 Next.JS 自定义 404 页面上的当前路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66952694/