react路由的安装:
在要创建项目的目录命令窗里输入:

cnpm install -g create-react-app

create-react-app  项目名
在创建好的项目目录命令窗里输入:

cnpm install react-router-dom --save(此处可以不用--save但是为了方便别人调用你的包时。更快捷的安装好依赖包,我们就得要写了,(cnpm install命令可以自动安装路由依赖文件))
 
 
 
2.根据路径,显示相应的组件
JSX路由的写法,路由的jsx组件
 
 
const Basic = () => (
<Router>
<div>
<ul>
<li><Link to="/">Home</Link></li>
<li><Link to="/page1">Page1</Link></li>
<li><Link to="/page2/123">Page2</Link></li>
</ul>
 
<hr/>
 
<Route exact path="/" component={App}/>
<Route path="/page1" component={Page1}/>
<Route path="/page2/:id" component={Page2}/>
</div>
</Router>
)
 
exact:表示精确路劲
3.路由视图的格式:
<router>
//只能放置一个根元素比如一个div
<div>
//视图里,如果要实现内容相对应的跳转
<Link to='路径'></Link>
//决定什么路径显示什么组件
<route path='路径' component={组件名}>
</div>
</router>
 
4.动态路由:一个组件要根据路由变量显示不同的内容,路由变量通过props传值
<route path='/路径名/:变量名称' component={组件名}>
 
function Page2(props){
props.match.params.变量名称
return  相应的视图
}
 
 
3/路由试图的格式:
 
<Router>
 
//这里只能放置1个根元素
 
<div>
 
 
//试图里,如果需要内容的相对应的跳转,那么需要使用<link>
 
<Link to='/page1'>进入page1页面</Link>
 
 
//决定什么路径显示什么组件
 
<Route path='/page1' component={App} >
 
 
 
</div>
 
 
</Router>
 
 
 
 
4/动态路由:1个组件要根据,路由变量从而显示不同的内容,路由变量通过props进行传值
 
 

<Route path='/page2/:变量名称' component={Page2} >

 
 
function Page2(props){
 //通过props里的match属性获取相对应的变量
 props.match.params.变量名称
 
 return 相对应的试图
 
 
}
 
 
 
5/JS执行页面跳转
 
this.props.history.go(),前进/后退页面
 
this.props.history.goback(),返回页面
 
this.props.history.goforward,前进页面
 
 
 
 
6//路径直接跳转
 
this.props.history.push('路径名称'),跳转到相对应的路径

react路由的安装及格式和使用方法的更多相关文章

  1. Ubuntu系统中安装RPM格式包的方法

    Ubuntu的软件包格式为deb,而RPM格式的包则是Red Hat 相关系统所用的软件包.当我们看到一个想用的软件包时,如果他是RPM格式,而你的操作系统是Ubuntu,那岂不是很遗憾?其实,在Ub ...

  2. chrome无法拖拽离线安装CRX格式插件解决方法

    原文:http://chromecj.com/utilities/2018-09/1525.html 摘要 : chrome 67版本后无法拖拽离线安装CRX格式插件的解决方法   有一部分网友反映子 ...

  3. react路由嵌套

    所谓的嵌套路由就是在某些以及路由下面存在二级路由,这些二级路由除了公用一级路由导航模块外,还公用当前的二级路由的导航模块,也就是部分进行了切换,要实现嵌套路由,首先回顾之前的内容,实现基本的react ...

  4. React路由-基础篇

    React-Router-DOM ReactRouter网址, 安装 -npmjs找到react-router-dom -yarn add react-router-dom 基本使用方法 1.创建一个 ...

  5. react 路由 react-router@3.2.1

    react路由,4.x的差异还是比较大,暂时还是3.x的版本 安装: npm install -S react-router@3.x 配置: import { Router, Route, hashH ...

  6. React 路由&脚手架

    1.创建react项目 npm install -g create-react-app 全局环境 create-react-app my-app 创建项目 cd my-app 进入项目 npm sta ...

  7. 【React 8/100】 React路由

    React路由 React路由介绍 现代的前端应用大多数是SPA(单页应用程序),也就是只有一个HTML页面的应用程序.因为它的用户体验更好.对服务器压力更小,所以更受欢迎.为了有效的使用单个页面来管 ...

  8. 我的一个react路由之旅(步骤及详图)

    今天开始react一个重要部分的xiao~习,路由~(过程截图,最后附代码) 以下代码只能骗糊涂蛋子,没错,就是我自己,不要打算让我敲出多高级的东西~ 理论性知识几乎没有,请不要打算让我给你说原理啥的 ...

  9. 简单的说一下react路由(逆战班)

    现代前端大多数都是SPA(单页面程序),也就是只有一个HTML页面的应用程序,因为它的用户体验更好,对服务器压力更小,所以更受欢迎,为了有效的使用单个页面来管理原来多页面的功能,前端路由应运而生. 前 ...

随机推荐

  1. 【CF242E】Xor Segment

    题目大意:给定一个长度为 N 的序列,支持两种询问,即:区间异或,区间求和. 题解:加深了对线段树的理解. 对于线段树维护的变量一定是易于 modify 的,对于查询的答案只需用维护的东西进行组合而成 ...

  2. java开发JDBC连接数据库代码

    JDBC连接数据库,创建一个以JDBC连接数据库的程序,包含7个步骤: 1.加载JDBC驱动程序: 这通过java.lang.Class类的静态方法forName(String className)实 ...

  3. JavaScript深入系列(一)--原型和原型链详解

    构造函数创建对象 首先我们先使用构造函数创建一个对象: function Person(){} var person = new Person(); person.name = 'tom'; cons ...

  4. 用javascript来实现前端简单路由

    WEB开发中路由概念并不陌生,我们接触到的有前端路由和后端路由.后端路由在很多框架中是一个重要的模块,如Thinkphp,Wordpress中都应用了路由功能,它能够让请求的url地址变得更简洁.同样 ...

  5. 题解-洛谷P1020P导弹拦截(求单调序列长度的优化)

    https://www.luogu.org/problemnew/show/P1020 (原题链接) 第一问就是求最长不上升子序列的长度,自然就想到了c++一本通里动态规划里O(n^2)的算法,但题目 ...

  6. Python函数--装饰器进阶

    开放封闭原则 1.对扩展是开放的 为什么要对扩展开放呢? 我们说,任何一个程序,不可能在设计之初就已经想好了所有的功能并且未来不做任何更新和修改.所以我们必须允许代码扩展.添加新功能. 2.对修改是封 ...

  7. python实现发送邮件

    一 使用SMTP模块发送邮件 import smtplib from email.mime.text import MIMEText from email.header import Header m ...

  8. Ubuntu: Windows Help Tools For Ubuntu

    Virtual Box https://www.virtualbox.org/wiki/Linux_Downloads 装不上Wine时直接装虚拟机吧.RTX真是个坑爹的东西,找不到替代的客户端 迅雷 ...

  9. Codeforces Round #523 (Div. 2) C Multiplicity (DP)

    传送门 https://www.cnblogs.com/violet-acmer/p/10005351.html 题意: 给定一数组a[],从a[ ]中除去任意个元素得到b[ ],求能形成多少“好序列 ...

  10. 当我new class的时候,提示以下错误: Unable to parse template "Class" Error message: This template did not produce a Java class or an interface Error parsing file template: Unable to find resource 'Package Header.j

    你肯定修改过class的template模板,改回去就好了 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")packag ...