React-router路由4.0版本用法
第一步:引包两个
命令: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版本用法的更多相关文章
- < react router>: (路由)
< react router> (路由): 思维导图: Atrial 文件夹下的index.js 文件内容: import React, { Component } from 'rea ...
- react router路由传参
今天,我们要讨论的是react router中Link传值的三种表现形式.分别为通过通配符传参.query传参和state传参. ps:进入正题前,先说明一下,以下的所有内容都是在react-rout ...
- React初识整理(四)--React Router(路由)
官网:https://reacttraining.com/react-router 后端路由:主要做路径和方法的匹配,从而从后台获取相应的数据 前端路由:用于路径和组件的匹配,从而实现组件的切换. 如 ...
- React Router路由传参方式总结
首先我们要知道一个前提,路由传递的参数我们可以通过props里面的属性来获取.只要组件是被<Router>组件的<component>定义和指派的,这个组件自然就有了props ...
- 【react router路由】<Router> <Siwtch> <Route>标签
博客 https://www.jianshu.com/p/ed5e56994f13?from=timeline 文档 http://react-guide.github.io/react-router ...
- react ---- Router路由的使用和页面跳转
React-Router的中文文档可以参照如下链接: http://react-guide.github.io/react-router-cn/docs/Introduction.html 首先,我们 ...
- vue过滤器在v2.0版本用法
vue 1.x 的写法在 vue 2.x版本已经废除 vue 1.x 写法 <body> <div id="app"> {{message | capit ...
- React躬行记(13)——React Router
在网络工程中,路由能保证信息从源地址传输到正确地目的地址,避免在互联网中迷失方向.而前端应用中的路由,其功能与之类似,也是保证信息的准确性,只不过来源变成URL,目的地变成HTML页面. 在传统的前端 ...
- react router 4.0以上的路由应用
thead>tr>th{padding:8px;line-height:1.4285714;border-top:1px solid #ddd}.table>thead>tr& ...
随机推荐
- activiti 如何使用database前缀来区分activiti数据库和业务数据库
为什么80%的码农都做不了架构师?>>> 第一步是先集成好activiti,我使用的是5.22.0,使用springboot集成,pom文件如下: <parent> ...
- TortoiseSVN各种状态
黄色感叹号(有冲突): --这是有冲突了,冲突就是说你对某个文件进行了修改,别人也对这个文件进行了修改,别人抢在你提交之前先提交了,这时你再提交就会被提示发生冲突,而不允许你提交,防止你的提交覆盖了别 ...
- DOM常用操作,Sass基础
一个元素的子元素个数ParentNode.childElementCount 只读属性返回一个无符号长整型数字,表示给定元素的子元素数. 取消当前事件e.preventDefault();有时候我们选 ...
- 安装vue-cli和安装nuxt
安装vue-cli:1.npm install vue-cli -g2.vue install webpack 项目名3.cd 项目名4.npm install5.npm i webpack-dev- ...
- H3C 示例:计算子网地址
- 2018.11.9浪在ACM集训队第四次测试赛
2018.11.9浪在ACM集训队第四次测试赛 整理人:朱远迪 A 生活大爆炸版 石头剪刀布 参考博客:[1] 刘凯 B 联合权值 参考博客: [1]田玉康 ...
- 2019-3-1-C#-double-好用的扩展
title author date CreateTime categories C# double 好用的扩展 lindexi 2019-3-1 9:19:5 +0800 2018-05-15 10: ...
- C# 发送电子邮件(smtp)
相关享目托管在github: https://github.com/devgis/CSharpCodes
- Android生命周期函数执行顺序
转载自:http://blog.csdn.net/intheair100/article/details/39061473 程序正常启动:onCreate()->onStart()->on ...
- Android 最新架构
1.Android系统架构 最新的Android系统分为五层六区(域): Linux内核层(Linux Kernel):Android系统基于Linux2.6内核,这一层为Android设备各种硬件提 ...