盖茨比可以轻松创建自己的自定义404页面docs here,但我想在页面上显示消息内的URL - 例如:
'/ example / nope'没有页面。
有没有办法从404页面中访问失败的网址?
虽然我找不到任何与之相关的文档,但似乎404页面收到一个history
对象作为其中一个道具,但是这个对象实际上并不包含任何历史URL,只有一个api导航到以前的状态和当前的URL(/404
)。
答案 0 :(得分:3)
我看了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
不是指当前的404页面网址,而是引起404的网页网址。
注意:如果您在开发过程中访问/404
以查看自己的404页面时,这将无法正常工作,因为没有生成404以响应丢失的页面,因此location.pathname
将是/404