React V5 路由(详细版)

安装:

        注意:默认下载的版本是V6版本的,下面安装的是V5版本的

npm i react-router-dom@5

下载完毕之后引入,react脚手架有两个文件,一个index主入口文件,一个App.js配置文件,先在App.js里面直接引入

import  {HashRouter as Router,Route} from "react-router-dom"
//注意:as右边引入的是‘外号’

src中新建一个文件夹,叫views(起名随意)在里面随意创建几个文件,我创建了三个:Home.js/About.js/List.js

有了可操作的文件,那么就可以在App.js中进行配置了

import React, { Component } from 'react'
import  {HashRouter as Router,Route} from "react-router-dom"
import Home from './views/Home'
import About from './views/About'
import List from './views/List'

export default class App extends Component {
  render() {
    return (
      <div>
        <Router>
            <Route path="/" component={Home} exact></Route>
            <Route path="/about" component={About}></Route>
            <Route path="/list" component={List}></Route>
	        <Route path="*" component={NotFound}></Route>
        </Router>
      </div>
    )
  }
}

如给Home起名  /  ,则必须添加exact

如添加了404页面,则需要在 “react-router-dom”中额外引入Switch用来显示*通配符的所有配置,
后续代码如下:

<Switch>
    <Route path="/" component={Home} exact></Route>
    <Route path="/about" component={About}></Route>
    <Route path="/list" component={List}></Route>
    <Route path="*" component={NotFound}></Route>
</Switch>

给404界面进行重定向

“react-router-dom”中再次额外引入 Redirect

<Router>
    <Switch>
         <Route path="/" component={Home} exact></Route>
         <Route path="/about" component={About}></Route>
         <Route path="/list" component={List}></Route>
         <Route path="/404" component={NotFound}></Route>
         <Redirect path="*" to="/404" ></Redirect>
     </Switch>
</Router>

给路由配置导航标签

在“react-router-dom”中再次引入Link

至此,App.js中‘react-router-dom’的所有引入如下所示:

import { HashRouter as Router, Route, Switch,Redirect,Link } from "react-router-dom";

配置的导航标签也可以使用a标签

如将抽离,可不引Link,换以a签,href相伴

 

 给List添加专属详情页

(1)建立详情(Detail)文件
(2)在App.js文件中配置相关路由
(3)在list页面中配置跳转项

如:
onClick={()=>{//实现点击跳转
    this.props.history.push('/detail')
}}

若想要实现例如Vue的路由传参

则可以使用字符串拼接的方式

List页面如图所示

 Detail文件接收如下

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值