首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何使用react-router进行404- Not Found寻呼/路由?

React Router是一个用于构建单页面应用的库,它提供了一种方便的方式来管理应用的路由。当用户访问一个不存在的路由时,我们可以使用React Router来处理404- Not Found错误。

要使用React Router处理404错误,我们可以按照以下步骤进行操作:

  1. 首先,确保已经安装了React Router库。可以使用以下命令进行安装:
代码语言:txt
复制
npm install react-router-dom
  1. 在应用的根组件中,导入所需的React Router组件:
代码语言:txt
复制
import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
  1. 在根组件中,定义一个404组件,用于显示404错误页面的内容:
代码语言:txt
复制
const NotFound = () => {
  return (
    <div>
      <h1>404 - Not Found</h1>
      <p>Sorry, the page you are looking for does not exist.</p>
    </div>
  );
};
  1. 在根组件中,使用Switch组件包裹所有的Route组件,并将404组件放在最后一个Route组件的位置:
代码语言:txt
复制
const App = () => {
  return (
    <Router>
      <Switch>
        <Route exact path="/" component={Home} />
        <Route path="/about" component={About} />
        <Route path="/contact" component={Contact} />
        <Route component={NotFound} />
      </Switch>
    </Router>
  );
};

在上述代码中,exact属性用于确保只有在路径完全匹配时才会渲染对应的组件。

  1. 最后,将根组件渲染到应用的根节点上:
代码语言:txt
复制
ReactDOM.render(<App />, document.getElementById('root'));

现在,当用户访问一个不存在的路由时,React Router会自动渲染404组件,显示404- Not Found错误页面的内容。

推荐的腾讯云相关产品:腾讯云服务器(CVM)和腾讯云对象存储(COS)。

  • 腾讯云服务器(CVM):提供可扩展的云服务器实例,适用于各种规模的应用程序和工作负载。了解更多信息,请访问腾讯云服务器(CVM)
  • 腾讯云对象存储(COS):提供安全可靠的对象存储服务,适用于存储和处理大量非结构化数据。了解更多信息,请访问腾讯云对象存储(COS)

请注意,以上答案仅供参考,具体的实现方式可能会因项目需求和个人偏好而有所不同。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

react-router学习笔记

基础部分 路由配置 index路由配置:添加首页,设置默认页面,使用 IndexRoute import { IndexRoute } from 'react-router' const Dashboard...可以使用标签形式,也可以使用路由配置的方式进行: const routeConfig = [ { path: '/', component: App, indexRoute: {...如何看是否匹配一个 URL 呢?...嵌套关系:深度优先遍历整个路由配置 路径语法:相对路径的话,会根据嵌套关系,与自身路径进行拼接;绝对路径会忽略嵌套关系 优先级:路由算法会根据定义的顺序自顶向下匹配路由,要注意前一个路由不会被后一个路由匹配所忽略替换...它使用浏览器中的 History API 用于处理 URL,创建一个像example.com/some/path这样真实的 URL 。 真实路由需要服务器也进行相应的配置。

2.7K10
  • React 中的一些 Router 必备知识点

    于是我以 React 中的 Router 使用方法为例,整理了一些知识点小记和大家分享~ React-Router 基本用法 通常我们使用 React-Router (https://reactrouter.com...现在较新的版本中,可以使用 Render 方法实现嵌套。...URL 中传递的~) 场景 2 描述:编辑/详情页,想要共用一个页面,URL 由不同的参数区分,此时我们希望,参数必须为 edit、detail、add 中的 1 个,不然需要跳转到 404 Not Found...但是,加了 Switch 之后路由匹配规则是从上到下执行,一旦发现匹配,就不再匹配其余的规则了。因此在使用的时候一定要“百般小心”。...location对象 */ const location = createLocation(path, state, createKey(), history.location) /* 确定是否能进行路由转换

    2.9K40

    React 中的一些 Router 必备知识点

    于是我以 React 中的 Router 使用方法为例,整理了一些知识点小记和大家分享~ React-Router 基本用法 通常我们使用 React-Router (https://reactrouter.com...现在较新的版本中,可以使用 Render 方法实现嵌套。...URL 中传递的~) 场景 2 描述:编辑/详情页,想要共用一个页面,URL 由不同的参数区分,此时我们希望,参数必须为 edit、detail、add 中的 1 个,不然需要跳转到 404 Not Found...但是,加了 Switch 之后路由匹配规则是从上到下执行,一旦发现匹配,就不再匹配其余的规则了。因此在使用的时候一定要“百般小心”。...location对象 */ const location = createLocation(path, state, createKey(), history.location) /* 确定是否能进行路由转换

    2.7K20

    react-router4

    一、关于react-router react-router是一些封装好的组件用于前端路由,当我们点击的时候会出现一个虚拟的路由,并不会做页面的全刷新,实现不同组件之间的切换和跳转。...知道如何去监听浏览器地址栏的变化, 并解析这个 URL 转化为 location 对象, 然后 router 使用它匹配到路由,最后正确地渲染对应的组件。)...https://github.com/ReactTraining/react-router github 三、react-router有3种使用场景 React Router被拆分成三个包:react-router...react-router提供核心的路由组件与函数。其余两个则提供运行环境(即浏览器与react-native)所需的特定组件。 ?...Route不是全匹配,所以当我们进行路由判断的时候,比如一个路径为"/",一个为“/news”这样我们进行跳转“/news”时任然会匹配到“/”,所以这时我们需要使用exact加在有"/"路径的Route

    1.5K30

    如何测试 React 路由

    前言 本文承接上文 如何测试 React 异步组件?,这次我将继续使用 @testing-library/react 来测试我们的 React 应用,并简要简要说明如何测试路由系统。...基本示例 以下代码使用 react-router V6 版本, V5 使用 Switch 包裹组件 通常我们的程序会写下如下代码: 首先我们有 2 个页面 src/routes/home.jsx 主页...>这是关于页 ) } 此时页面就会报错,但如果我们没有点击 about 页面,我们的程序任然正常运行,所以我们需要对路由进行测试...: 将程序和使用什么路由分开; 使用 MemoryRouter 来测试; 通过 userEvent.click 点击确保页面可以正确渲染; 提供一个公共包裹组件,通过遍历来测试每个页面,确保渲染 以上就是本文的全部内容...,那么如何测试 react hooks ?

    2.1K20

    如何测试 React 路由

    前言 本文承接上文 如何测试 React 异步组件?,这次我将继续使用 @testing-library/react 来测试我们的 React 应用,并简要简要说明如何测试路由系统。...基本示例 以下代码使用 react-router V6版本, V5 使用 Switch 包裹组件 通常我们的程序会写下如下代码: 首先我们有 2 个页面 src/routes/home.jsx 主页...这是关于页 ); } 此时页面就会报错,但如果我们没有点击 about 页面,我们的程序任然正常运行,所以我们需要对路由进行测试...: 将程序和使用什么路由分开; 使用 MemoryRouter 来测试; 通过 userEvent.click 点击确保页面可以正确渲染; 提供一个公共包裹组件,通过遍历来测试每个页面,确保渲染 以上就是本文的全部内容...,那么如何测试 react hooks ?

    2.1K20

    第二十一篇:从 React-Router 切入,系统学习前端路由解决方案

    注:没有使用React-Router 的同学,可以点击这里完成快速上手。 1....接下来我们就结合 React-Router 的源码,一起来看看“跳转”这个动作是如何实现的。 2. React-Router如何实现路由跳转的?...React-Router 支持我们使用 hash(对应 HashRouter)和 browser(对应 BrowserRouter) 两种路由规则,这里我们把两种规则都讲一下。...那么如何实现这个目的呢?首先我们要解决以下两个问题。 1. 当用户刷新页面时,浏览器会默认根据当前 URL 对资源进行重新定位(发送请求)。...这个动作对 SPA 是不必要的,因为 SPA 作为单页面,无论如何也只会有一个资源与之对应。此时若走正常的请求-刷新流程,反而会使用户的前进后退操作无法被记录; 2.

    42010

    React Router 6 (React路由) 最详细教程

    虽然网络上写 React-Router 路由本身的教程很多,但真正讲到 React-Router 6 的并不多。...这篇文章里我们总结 React Router 6 路由器的用法,用例子说明如何实现各种场景和需求,比如程序化跳转等等。...然而 React 框架本身是不带路由功能的,因此如果你需要实现路由功能让用户可以在多个单页应用中跳转的话,就需要使用 React-Router。...等等 如何安装 React-Router 安装 React-Router 非常简单,如果你使用的是 yarn 或者 npm,则用通常的安装方式即可 我们先用 create-react-app 脚手架建起一个...React Router 鉴权并保护路径 总结 本文中我们介绍了如何使用 React-Router,用一个实例说明 React Router 6 中的 API,以及常见的使用场景等。

    23.6K95

    2020-5-16-React-Router源码简析

    今天来和大家解析下React-Router的源码。 ---- React-Router是React生态中最重要的组件之一。 他提供了动态的前端路由功能,能让我们在前端应用实现,高效的SPA应用。...children(props) : null} 上面一段是Route的核心渲染方法,利用了嵌套的三元函数,决定了如何进行组件渲染(已删减调试方法)。 思维导图如下 ?...小结 通过分析源码我们了解到了 React-Router通过监听location变化触发刷新,实现路由更新 利用React的Context机制,实现嵌套路由分析,和状态传递 Route组件中component...,render,children三个属性的渲染机制 所有的机制都在render中,所以能够在渲染时进行动态路由 ---- 参考文档: react-router/packages/react-router...本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。

    95730

    React Router源码浅析

    ---- 阅读须知 源码阅读基于react-router和react-router-dom 5.2.1版本 React Router如何监听路由变化的?...通过查看源码发现,react-router使用了一个history的库来监听不同的路由变化,react-router支持我们使用hash和bowser两种路由规则,所以history这个库可以根据调用的...的Route都将会重新渲染判断是否命中路由进行重新渲染。...Switch组件 如果我们只是单纯的使用Route组件来设置路由,当我们的当前的url满足多条路由规则的情况下,会出现多个Route的子组件进行渲染,这个时候如果当我们使用Switch包裹多个Route...参数,将交由浏览器处理) 触发内部点击事件,使用history库实例后的push或replace来控制前端路由跳转 禁止默认事件 以下是Link组件的点击处理逻辑: Link组件是如何获取到history

    1.1K20

    React路由基本用法

    所以 RR4 只是一堆 提供了导航功能的组件(还有若干对象和方法),具有声明式(声明式编程简单来讲就是你只需要关心做什么,而无需关心如何去做,可组合性的特点。...1.react-router-dom和react-router的关系: 在 React 的使用中,我们一般要引入两个包,react 和 react-dom,那么 react-router 和react-router-dom...而BrowserRouter使用了H5 Histroy API高阶路由组件; 2.组件:它的作用是只渲染出第一个与当前访问地址匹配的和组件; 3....组件:它的作用主要利用Hash值的原理进行地址—UI匹配,在RR4中并没有抛弃,但是不建议使用;熟悉vue-router的可以知道,它跟vue-router匹配原理一样; 5....组件:主要用于导航拥有激活状态准备的;它和Link的路由匹配效果一致;不同的是NavLink有状态标记,Link无状态标记,如下面效果实现就建议使用NavLink; NavLink用法如下

    1.5K30

    路由】:路由那些事——中

    react-router-dom 只是 react-router 的一个套壳 react-router 中持有核心逻辑 我们来看一下 react-router-dom 是如何对外导出模块的: https...内核 react-router.Prompt 分析 用于实现路由跳转拦截,比如当用户修改了数据但还没由提交,如果此时用户切换路由,就可以给出 comfirm 提示用户,是否确认要进行路由切换...(当然 ReactRouter's history 的路由拦截特性比较简单,也就是使用 window.prompt 提示一下。VueRouter's history 的路由拦截就强大很多) ?...内核 react-router.Redirct 分析 用于实现路由重定向,通常跟路由鉴权结合起来使用。...如果你已经开始使用 react hooks,那直接使用 react-router 的hooks api 即可,不需要再使用 withRouter 了。 ? 6.14.

    1.1K30

    【React】377- 实现 React 中的状态自动保存

    在 React 中,我们通常会使用路由去管理不同的页面,而在切换页面时,路由将会卸载掉未匹配的页面组件,所以上述列表页例子中,当用户从详情页退回列表页时,会回到列表页顶部,因为列表页组件被路由卸载后重建了...,为了不需要每次都关心如何对数据进行保存恢复,我们需要研究如何自动保存状态 通过路由实现自动状态保存(通常使用 react-router) 既然 React 中状态的丢失是由于路由切换时卸载了组件引起的...,需要注意对原始 功能的保存,以及多个 react-router 版本的兼容 替换路由库为 react-keeper[5] 完全替换掉路由方案是一个风险较大的事情,需要较为慎重地考虑3....都无法避免路由在不匹配时被卸载掉的命运 但将 children 属性当作方法来使用,我们就有手动控制渲染的行为的可能,关键代码在此处 https://github.com/ReactTraining/react-router...isEmptyChildren(children) // children 存在时,将使用 children 进行渲染 ?

    2.9K30
    领券