第一步:引包两个

命令:cnpm i -S react-router react-router-dom

第二步:用路由管理APP页面

1.创建主路由管理页面,在这里使用了路由嵌套

 import React, { Component } from 'react';
import { Route, BrowserRouter } from 'react-router-dom'
import App from '../App'
import SubRouter from './SubRouter' //二级路由 export default class ReactApp extends Component {
render() {
return (
<BrowserRouter>
<App>
{/* 这里为了分离得彻底,使用组件嵌套,app组件跳到SubRouter组件*/}
<Route path="/" component={SubRouter}></Route>
</App>
</BrowserRouter>
)
}
}

2.创建二级路由页面,引入组件

 import React, { Component } from 'react'
import { Route, Switch } from 'react-router-dom'
import Home from '../Component/Home'
import Movie from '../Component/Movie'
import About from '../Component/About' export default class SubRouter extends Component {
render() {
return (
// 路由配置
<Switch>
<Route exact path="/" component={Home}></Route>
<Route exact path='/movie' component={Movie}></Route>
<Route exact path="/about" component={About}></Route>
</Switch>
)
}
}

3.在App页面给显示位置,以及设置点击跳转

 import React, { Component } from 'react';
import { Link } from 'react-router-dom'
export default class App extends Component {
render() {
return (
<div>
{/* 点击路由跳转,使用react-router-dom的Link */}
<ul>
<li>
<Link to='/'>首页</Link >
</li>
<li>
<Link to='/movie'>电影</Link >
</li>
<li>
<Link to='/about'>关于</Link >
</li>
</ul> {/* 在APP主页面,给SubRouter留显示位置*/}
{this.props.children}
</div>
)
}
}

4.修改index.js需要渲染的组件,由渲染原来的APP改为渲染主路由,因为已经用路由管理App页面了

 import React from 'react';
import ReactDOM from 'react-dom';
import AppRouter from './AppRouter/AppRouter';
import * as serviceWorker from './serviceWorker'; ReactDOM.render(<AppRouter />, document.getElementById('root'));
serviceWorker.unregister();

三.页面效果

四.文件目录

写得有什么不对的地方,还请大家多多指教,多谢。

React-router路由4.0版本用法的更多相关文章

  1. < react router>: (路由)

    < react router> (路由): 思维导图: Atrial   文件夹下的index.js 文件内容: import React, { Component } from 'rea ...

  2. react router路由传参

    今天,我们要讨论的是react router中Link传值的三种表现形式.分别为通过通配符传参.query传参和state传参. ps:进入正题前,先说明一下,以下的所有内容都是在react-rout ...

  3. React初识整理(四)--React Router(路由)

    官网:https://reacttraining.com/react-router 后端路由:主要做路径和方法的匹配,从而从后台获取相应的数据 前端路由:用于路径和组件的匹配,从而实现组件的切换. 如 ...

  4. React Router路由传参方式总结

    首先我们要知道一个前提,路由传递的参数我们可以通过props里面的属性来获取.只要组件是被<Router>组件的<component>定义和指派的,这个组件自然就有了props ...

  5. 【react router路由】<Router> <Siwtch> <Route>标签

    博客 https://www.jianshu.com/p/ed5e56994f13?from=timeline 文档 http://react-guide.github.io/react-router ...

  6. react ---- Router路由的使用和页面跳转

    React-Router的中文文档可以参照如下链接: http://react-guide.github.io/react-router-cn/docs/Introduction.html 首先,我们 ...

  7. vue过滤器在v2.0版本用法

    vue 1.x 的写法在  vue 2.x版本已经废除 vue 1.x 写法 <body> <div id="app"> {{message | capit ...

  8. React躬行记(13)——React Router

    在网络工程中,路由能保证信息从源地址传输到正确地目的地址,避免在互联网中迷失方向.而前端应用中的路由,其功能与之类似,也是保证信息的准确性,只不过来源变成URL,目的地变成HTML页面. 在传统的前端 ...

  9. react router 4.0以上的路由应用

    thead>tr>th{padding:8px;line-height:1.4285714;border-top:1px solid #ddd}.table>thead>tr& ...

随机推荐

  1. javascript 变量的提升

    下面是一个关于全局和局部作用域的问题 var a = 123; function f(){ alert(a); var a = 1; alert(a); } f(); 大家第一眼看到后都会认为第一次a ...

  2. PHP调用纯真IP数据库返回具体地址

    function convertip($ip) { $ip1num = 0; $ip2num = 0; $ipAddr1 =""; $ipAddr2 =""; ...

  3. js最简单的对数字的排序

    文章地址 https://www.cnblogs.com/sandraryan/ JS自己有sort可以用来排序,可以排string会转为ASCII比较,但是,ASCII对数字的排序不合理   < ...

  4. border写一个直角三角形

    文章地址 https://www.cnblogs.com/sandraryan/ border的四条边是平分的.你可以放大试试 .box1 { width:;; border: 100px solid ...

  5. springboot jpa 解决延迟加载问题

    在springboot中,在application.properties的配置文件中新增spring.jpa.open-in-view=true方法失效,经过测试,有两种解决办法: 1.在applic ...

  6. 【p083】传球游戏

    Time Limit: 1 second Memory Limit: 50 MB [问题描述] 上体育课的时候,小蛮的老师经常带着同学们一起做游戏.这次,老师带着同学们一起做传球游戏. 游戏规则是这样 ...

  7. Educational Codeforces Round 54 (Rated for Div. 2) D Edge Deletion (SPFA + bfs)

    题目大意:给定你一个包含n个点m条边的无向图,现在最多在图中保留k条边,问怎么删除多的边,使得图中良好的节点数最多,求出保留在图中的边的数量和编号. 良好的节点定义为:删除某条边后该点到点1的最短距离 ...

  8. P1029 栈的基础操作

    题目描述 现在给你一个栈,它一开始是空的,你需要模拟栈的操作.栈的操作包括如下: "push x":将元素 x 放入栈中,其中x是一个int范围内的整数: "pop&qu ...

  9. JMETER+JENKINS接口测试持续集成

    FIDDER+ANT+JENKINS+JMETER+SVN+tomcat接口测试集成 操作流程: 1.测试人员通过FIDDER过滤抓取接口调用信息,导出成jmx文件.(jmeter支持命令行方式调用j ...

  10. ES6/ES7/ES8新特性

    ES6 变量的改变 let const 2. 字符串新增方法 let str = 'react'; str.includes('re') // true str.repeat(3) // reactr ...