React路由

一.React路由介绍

现在的前端应用多时候SPA(Single Page application),也就是只有一个html页面的程序,因为它的用户体验跟好,对服务器的压力更小,所以更加受欢迎,为了有效的使用单个页面来管理多个页面的功能,前端路由应用而生

  • 前端路由的功能:让用户从一个视图(页面)导航到另外一个视图(页面)
  • 前端路由就是一套映射骨子额,在react中,url的path与组件的对应关系
  • 使用react路由简单来说,就是配置路径和组件的匹配

二.路由的基本使用

官方地址 https://reactrouter.com/web/guides/quick-start

  • 安装react-router-dom
  yarn add react-router-dom  
  • 路由的核心组件
    Router 组件
    BrowserRouter 组件
    HashRouter 组件
    Route 组件
    Link 组件
    NavLink 组件
    Switch 组件
    Redirect 组件
    withRouter包装路由组件

三.路由传递参数

  • 1.params参数
 路由链接(携带参数)  <Link to='/xxx/1'>详情</Link>
 注册路由(声明接受) <Route path='/xxx/:id'  component={组件名称}></Route>
 接受参数:  this.props.match.params
  • 2.search参数
路由链接(携带参数): <Link to='/xxx/id?1'>详情</Link>
注册路由(无需声明,整除注册即可) : <Route path='/xxx'  component={组件名称}></Route>
接受参数: this.props.location.serach,结合querystring解析
  • 3.state参数
路由链接(携带参数): <Link to={{path:"xxx",state:{id:1}}}>详情</Link>
注册路由(无需声明,整除注册即可) : <Route pathname='/xxx'  component={组件名称}></Route>
接受参数: this.props.location.state
特点:刷新'也'可以用(同上)

push与replace模式,replace不留下痕迹(前进,后退)

四.编程式导航

replace与push

  • 1.replace跳转+携带params参数 /
  this.props.history.replace("/xxx/id");
  • 2.replace跳转+携带query参数 ?
  this.props.history.replace("/xxx?id");

五.默认路由

六.匹配模式

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 PS:转载请注明出处作者:TigerChain地址:http...
    TigerChain阅读 23,028评论 3 49
  • 路由的安装和引入 安装cnpm i react-router-dom -S 引入hash路由:HashRouter...
    鹤仔z阅读 15,232评论 0 9
  • react-router React路由,让父组件动态去挂载不同的子组件,本文以4.x为例;4.x 对依赖包的划分...
    hellomyshadow阅读 865评论 0 3
  • 前沿:跳转分两种情况,然后这两种情况又有不同参数 一。html的方式跳转(Link标签) 第一种 pathname...
    jack_rofer阅读 2,745评论 2 1
  • 下载react-router-dom路由:不同的路由 App.js文件中引入路由相关的模块 或者 Router相当...
    Mr_QQXM阅读 1,130评论 0 0