- 78
- 0
之前用react-router v3 当设定主路由是/Home的时候,只要不设定参数,/Home/asd 都会匹配不到,跳转到404,但是升级v4以后 /Home主路由,不设定参数,不设定子路由,/Home/asd也会匹配到/Home 如果用严格模式exact,设定了的子路由又匹配不到了?那这下要怎么配置成v3那种模式?
这是主路由的配置
<HashRouter >
<div>
<Switch>
{/* 首页 */}
<Route path='/Home' component={Home} />
{/* 404页面 */}
<Route component={NotFound}/>
</Switch>
</div>
</HashRouter>
这是子路由的配置
<Switch>
<Route path='/Home/firstchild' component={HomeChildFirst} />
</Switch>
找到一个曲线救国的方法,子路由底下再加一个404页面的路由
<Switch>
<Route path='/Home/firstchild' component={HomeChildFirst} />
<Route component={NotFound}/>
</Switch>
但这样的话很麻烦,不能统一。
还有就是,主路由/Home,不写:prop参数,匹配路由的时候,如果后面有东西比如 /Home/asddd,他会按asddd是参数处理,但是在Home页面拿不到这个参数。
react router v4
- 共 0 条
- 全部回答
-
秋末♂残雪℡ 普通会员 1楼
在React Router v4中,当匹配不到子路由时,我们可以通过在匹配不到子路由时执行重定向来实现404页面的跳转。以下是一种可能的实现方式:
- 首先,确保你已经安装了React Router和相应的依赖项,例如
react-router-dom:
bash npm install react-router-dom- 在你的组件中,定义一个路由对象来表示子路由:
```jsx import React from 'react'; import { BrowserRouter as Router, Route, Link } from 'react-router-dom'; import Home from './Home';
function App() { return (
); }function Home() { return (
); }Welcome to the Home Page
This is the homepage for the application.
function About() { return (
); }About Page
This is the page for information about the application.
function Contact() { return (
); }Contact Page
This is the page for contact information.
export default App; ```
- 在
App.js中,我们定义了三个路由,分别对应"Home"、"About"和"Contact"的子路由。在匹配不到子路由时,我们将跳转到"404"页面:
```jsx function App() { return (
); }404: Page Not Found
}> Home About Contactexport default App; ```
在这个例子中,当用户访问
/404时,React Router会向服务器发送一个请求,请求路径为/404,并在服务器的响应中包含一个404: Page Not Found的页面,然后将页面重定向到Home页面,这样用户就会看到"404: Page Not Found"的页面,而不是"404"页面。注意,这只是一个基本的例子,实际应用中你可能需要处理更多的情况,例如路由重定向后重定向到不同的页面,或者在重定向到404页面时包含一些页面的额外内容,例如错误消息或状态码等。
- 首先,确保你已经安装了React Router和相应的依赖项,例如
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

