Я посмотрел, как Gatsby обрабатывает его для своей собственной страницы разработки 404, и вот соответствующие строки из `gatsby / dist / internal-plugins / dev-404-page / raw_dev:
render() {
const pathname = this.props.location.pathname
...
return (
...
<p>
{`There's not a page yet at `}
<code>{pathname}</code>
</p>
)
}
Таким образом, он использует location.pathname
объекта props, который ссылается не на текущий 404 URL-адрес страницы, а на URL-адрес страницы, которая вызвала 404.
Примечание: это не будет работать, если вы посетите /404
, чтобы увидеть свою собственную страницу 404 в разработке, поскольку 404 не генерируется в ответ на отсутствующую страницу, поэтому location.pathname
будет /404