如何使用React Router处理404错误页面?

在使用 React Router 时,可以通过设置一个特殊的路由来处理 404 错误页面。通常,404 页面用于显示用户访问的路径不存在时的提示信息。以下是实现步骤:

1. 创建 404 组件

首先,创建一个简单的 404 组件。例如,命名为 NotFound.js:

jsx 复制代码
// NotFound.js
import React from 'react';

const NotFound = () => {
  return (
    <div>
      <h1>404 - 页面未找到</h1>
      <p>抱歉,您访问的页面不存在。</p>
    </div>
  );
};

export default NotFound;

2. 在路由中添加 404 路由

在你的主应用组件中,使用 Switch 组件来设置路由。将 NotFound 组件作为最后一个 Route,这样它会在没有其他路由匹配时渲染。

jsx 复制代码
import React from 'react';
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import Home from './Home';
import About from './About';
import NotFound from './NotFound';

const App = () => {
  return (
    <Router>
      <Switch>
        <Route path="/" exact component={Home} />
        <Route path="/about" component={About} />
        {/* 404 路由 */}
        <Route component={NotFound} />
      </Switch>
    </Router>
  );
};

export default App;

3. 注意路由顺序

确保 NotFound 路由放在其他路由之后,因为 Switch 会按照顺序匹配路由。第一个匹配的路由会被渲染,因此 NotFound 需要放在最后。

4. 测试 404 页面

现在,你可以尝试访问一个不存在的路径,例如 /not-existing-path,你应该会看到 404 页面。

总结

通过以上步骤,你可以轻松地处理 React Router 中的 404 错误页面。当用户访问的路径没有相应的组件时,NotFound 组件会被渲染,提供友好的提示。

相关推荐
lpfasd1234 小时前
node-sass 停止维护!老项目迁移 Dart Sass 完整教程
前端·rust·sass
Data analyse4566 小时前
rnweb 回放数据量太大怎么办?分片存储与断点续传的实现思路
前端·网络·算法·数据分析
xiaogai_gai7 小时前
金蝶收料通知单查询策略实战教程:从源系统拉取到中间层落地的完整路径
java·前端·数据库
环境栈笔记7 小时前
指纹浏览器 WebRTC 怎么设置?从 ICE 候选、代理出口到功能验证
前端·人工智能·后端·自动化
赵大仁8 小时前
官网性能优化实战:LCP 3.2s → 2.1s、CLS 0.107 → 0,以及被我推翻的 6 个判断
前端·性能优化·cls·lcp·core web vitals
xiancai_xianyu8 小时前
Text2SQL落地生产库前,SQL要过哪三道闸
前端·数据库·sql·sql注入·text2sql·ai agent开发·企业级ai框架
小羊没烦恼!8 小时前
T-SQL查询进阶--理解SQL SERVER中的分区表
服务器·开发语言·前端·javascript·html
史瓦辛格8 小时前
给 DeepSeek Harness 写费用插件:把「这次会话花了多少钱」算准
前端·deepseek
星光不问赶路人8 小时前
Vue 3 + TypeScript 中 enum 的使用实践
前端·vue.js
鸥梨菌Honevid8 小时前
UVM 中 REQ 和 RSP 类型详解:从通信模型到 item_done 与 put_response
java·前端·servlet