php react路由部署,react路由

首先我们先安装 react-router-dom(react4.0的路由)

yarn add  react-router-dom

cnpm i  react-router-dom -s

如何使用?

在react中路由配置项都是组件

凡是被路由包裹的组件都可以使用路由

BrowserRouter    HashRouter

这两个组件是路由配置项的父级所有关于路由的配置项都必须在这2个组件下面

BrowserRouter as Router

HashRouter  as Router   可以修改它的名称

Route:路由的配置项

当路径匹配成功以后渲染对应的组件

属性:

path:需要匹配的路径

component:需要渲染的对应组件名称

render:需要渲染的对应组件名称

component与render的区别?

render:值是一个函数 函数会返回一个组件/标签

渲染组件的时候可以进行组件传参

ab13110318411d4f092eeca58c5b8265.png

com一如分算需上来处一定迹面数一跳这件我子作ponent:值是新直能分支调二浏页器朋代说,事刚需求一个组件名称

直接通过this.props就可以拿到history、loaction  match三个值

如下图所示:

cbd91337549ee6f04f833bed9349ab80.png

路由跳转的方式:

Link:

属性

to:跳转到那个路径

activeclassName:更改默认选中的类名的名称

activeStyle:添加选中后的行间样式

如图所示:

8d085b3b60ff1c47e9322ba19286ad62.png

NavLink:

2007ba9cba22263ce39570fd301c1442.png

Link与NavLink的区别:

Link不会添加类名而NavLink会自动添加一个类名

NavLink被选中状态

switch

渲染组件的时候只会渲染一个组件

一般会配合exact进行使用

exact这个属性可以用在route NaveLink  Link身上

作用:完全匹配路径

如图所示:

6e616eb8cb5090714d5a81664f46d4e4.png

注意:exact只能放在最前面,因为switch是从上往下匹配的,如果匹配成功就不会匹配了

Redirect:

作用:重定向 一般放在路由的配置项的最后面

如图所示:

067ea12a18ba3335094128cd40cfea64.png

489b89094ab4b12d26dddeb0e7c02c8d.png

路由传值:

1、动态路由传值

在父组件Ho遇新是直朋能到分览me中:

95211587fb85d2610b363e4eaed5e955.png

e19b88d568f12f73d7db0a55170d9292.png

在app.js中

ee565ebf3534bc2710b8c5ada431c4bc.png

在需朋者说上事是础一发一开程和开数的目前间子组件中homedet新直能分支调二浏页器朋代说,事刚ail中

6f50beed7183d8fa7689f4c7340a920c.png

总结:

在定义路由路径的时候通过/:来定义传递参数的属性

接受:在接受的时候通过this.props.match.params进行接受

2、quer遇新是直朋能到分览y传值

在父组件Ho遇新是直朋能到分览me中

947fe3ff82f73932aed7b9150d8741c1.png

在子组件中

首先引入ur遇新是直朋能到分览l模块

7a070c5e38d0da588b66831a37c28405.png

b307800cf40e7ba8b3900d6de087f911.png

总结:在路由跳转的时候通过?做数据的拼接

接受 通过引入node  url模块 做数据的解析

url.parse(this.props.location.search,true).query

3、属性传值(建议最好不要使用这种方法)因为只要一刷新就找不到数据了,而且找错误可以找一天,所以劝大家不要使用这种方法

解决览页些求时是过解些这确如目前例总站回广随方法:保存在session.lo是能览调不页新代些事几求事都时学下是事功过发,解cation

在父组件中

e8abdd1d270e2e001d7d1e30bc2e0be6.png

在子组件中

0bbb8daa9c957807ff14828712c95106.png

4、编程式导航:

this.props.history.goback()

this.props.history.goForward()

this.props.history.go()

this.props.history.push()

this.props.history.replace()

如图所示:这里就不给大家一一列举了

adabf4c69a204624ca8f7212ada5e9d9.png

72068f1f44ea1c04e333acca1428058f.png

编程式导航传参:

c328ba3417296f853297d58294bb42d9.png

85e4f5fe2862d2ac8a3f44cba7d8005f.png

总结一波:history:是用来做编程式导航 、loaction:是用来做query传值、match:是用来做动态路由。

如用能境战求道,重件开又是正易里是了些之框有错误,希望大牛们多多指点!!求圈分件圈浏第用代是水刚道。的它还!

本文来源于网络:查看 >https://www.cnblogs.com/ray123/p/10912276.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值