У меня есть настраиваемая страница 404 в моем приложении Next.JS (404.js). На странице я хотел бы отобразить сообщение типа The route <strong>/not-a-route</strong> does not exist, однако при использовании useRouter() и router.pathname Next.js маршрутизатор думает, что я нахожусь на /404, и вместо этого отображает The route <strong>/404</strong> does not exist. Как мне получить доступ к фактическому маршруту на пользовательской странице 404?
export const NotFound: React.FC = () => {
const router = useRouter();
console.info(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>
);
};
@SinanYaman, если пользователь случайно переходит к /abouts вместо /about, текст на странице в настоящее время отображает /404, хотя URL-адрес браузера по-прежнему /abouts - это сценарий, который я сейчас пытаюсь учесть; это не вызвано хитрым перенаправлением.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете получить доступ к redirected route как router.asPath. Пытаться:
import {useRouter} from 'next/router'
export const NotFound: React.FC = () => {
const router = useRouter();
console.info(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>
);
};
Ну вы вообще-то на
/404. Вы можете показать нам, где вы делаете редирект? Вы можете передать имя маршрута какpropsв404 page