javascript - Gatsby : Display 404 page if route doesn't exist

标签 javascript reactjs gatsby

如何正确设置404页面,让用户点击任何不存在的路由,重定向到这个404页面?

目前我有这个代码:

import React from "react";
import Layout from "../components/layout";
import SEO from "../components/seo";

    const NotFoundPage = () => (
        <Layout>
            <SEO title="404: Not found" />
            <h1>NOT FOUND</h1>
            <p>You just hit a route that doesn&#39;t exist... the sadness.</p>
        </Layout>
    );
    
    export default NotFoundPage;

最佳答案

如果文件名为 404.js 并将其放在 src/pages/404.js 目录下,它将自动为每个不存在的文件进行重定向页。根据their documentation :

To create a 404 page create a page whose path matches the regex ^\/?404\/?$ (/404/, /404, 404/ or 404). Most often you’ll want to create a React component page at src/pages/404.js.

请记住,在 develop 模式下,您的 404,Gatsby 会覆盖默认页面并列出您创建的所有页面和路径。但是,您仍然可以通过单击“预览自定义 404 页面”来预览您的 404 页面,以验证它是否按预期工作。这在您开发时很有用,以便您可以看到所有可用的页面。

build 模式下一切正常。

关于javascript - Gatsby : Display 404 page if route doesn't exist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63868030/

相关文章:

javascript - MediaRecorder ondataavailable 工作成功一次

javascript - 单击 Webkit 通知时如何从浏览器中的任何其他选项卡返回当前选项卡

javascript - 阻止模态按钮提交它所在的表单

javascript - React Router v4 - 嵌套路由不起作用

javascript - 到达路由器导航()带有 anchor 链接的偏移量?

javascript - 将滚动事件监听器添加到 GatsbyJS (ReactJS) 中的文档

javascript - 将 JSON 数据分配给变量并通过 React 中的状态访问它时出错

reactjs - `eval()` ing 带有 JSX 语法的代码

javascript - facebook 按钮不调用 onClick() - ReactJS

javascript - 禁用基于页面的组件功能