第一步:引包两个

命令: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. rdlc报表部署

    1)在D盘创建目录ReportViewer 2)打开运行界面,运行如下的执行 copy C:\Windows\assembly\gac_msil\Microsoft.ReportViewer.Comm ...

  2. 安装win下的Anaconda ----针对python3.6.4版本

    我的python版本是3.6.4, Anaconda下载地址: Anaconda官网:https://repo.anaconda.com/archive/ 清华大学镜像站:https://mirror ...

  3. 【CSS3】精美横向滚动菜单按钮

    废话不多说,直接上图: 然后是代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...

  4. element-ui css 文件加载 失败(https://unpkg.com/element-ui/lib/theme-chalk/index.css,加载失败)

    在main.js文件引入   import Vue from 'vue'; import Element from 'element-ui'; import 'element-ui/lib/theme ...

  5. 在linux上安装pear

    在搭建centreon的过程中,需要pear模块支持. 什么是pear pear是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写. ...

  6. UA判断打开页面的环境,然后在callBack写相应环境下的回调函数

    这是js代码 /* * 2016.11.10 * SunJingxin * V 1.0.0 * */ (function(){ /* * 使用方法: * 一.引入ua.js * 二.直接调用 Mobi ...

  7. [转载]Eclipse luna tomcat 控制台 中文乱码

    http://hahalzb.iteye.com/blog/709109 今天做S2SH集成的例子,所有该设置的地方都设置成了UTF-8,包括tomcat的配置文件server.xml.web.xml ...

  8. 常用mime.types

    以下是从nginx配置文件mime.types中提取出的最常用的文件格式, 整理了下, 方便查看 类型 文件格式 default_type application/octet-stream - tex ...

  9. ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(2)之创建项目

    我们在创建项目的时候一定要遵循层次和命名的原则,同时也要有统一的规范,无论是多人项目还是单人项目,能够让人看着一目了然并赏析悦目,做一个有追求的程序员. 例如IA.WebApp是视图控制器层(表现层) ...

  10. 与正则有关的JS方法结合其在项目中的应用

    与正则有关的JS方法结合其在项目中的应用 前言 最近项目中用到正则匹配比较多,因此打算深入理解和总结下各个与正则有关的方法,再结合在项目中使用的情况.与正则有关的JS方法共有7个,分别是RegExp对 ...