前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >react路由跳转

react路由跳转

作者头像
全栈程序员站长
发布2022-09-01 14:49:40
3.1K0
发布2022-09-01 14:49:40
举报

大家好,又见面了,我是你们的朋友全栈君。

React中几种页面跳转方式

1、使用 react-router-dom 中的 Link 实现页面跳转

一般适用于,点击按钮或其他组件进行页面跳转,具体使用方式如下:

代码语言:javascript
复制
<Link
    to={ 
   { 
   
        pathname: '/path/newpath',
        state: { 
     // 页面跳转要传递的数据,如下
              data1: { 
   },
              data2: []
        },
    }}
>
   <Button>
        点击跳转
   </Button>
</Link>

2、使用 react-router-redux 中的 push 进行页面跳转

react-router-redux 中包含以下几个函数,一般会结合redux使用:

push – 跳转到指定路径 replace – 替换历史记录中的当前位置 go – 在历史记录中向后或向前移动相对数量的位置 goForward – 向前移动一个位置。相当于go(1) goBack – 向后移动一个位置。相当于go(-1) 具体使用时通过发送disppatch来进行页面跳转:

代码语言:javascript
复制
let param1 = { 
   }
dispatch(push("/path/newpath'", param1));
dispatch(replace("/path/newpath'", param1));

3、使用RouteComponentProps 中的history进行页面回退

一般在完成某种操作,需要返回上一个页面时使用。

代码语言:javascript
复制
this.props.history.goBack();  

4、打开一个新的tab页,并截取路径

首先定义路由为 :

代码语言:javascript
复制
path: "/pathname/:param1/:param2/:param3",

点击事件跳转到新页面 打开一个新的tab:

window.open(pathname/{param1}/{param2}/

代码语言:javascript
复制
param1:  this.props.match.params.param1, 
param2:  this.props.match.params.param2, 
param3:  this.props.match.params.param3, 

获取路径参数 :

代码语言:javascript
复制
path?key1=value1&key2=value2
const query = this.props.match.location.search 
const arr = query.split('&')  // ['?key1=value1', '&key2=value2']
const successCount = arr[0].substr(6) // 'value1'
const failedCount = arr[1].substr(6) // 'value2'

或者

代码语言:javascript
复制
function GetUrlParam(url, paramName) { 
   
  var arr = url.split("?");

  if (arr.length > 1) { 
   
    var paramArr= arr[1].split("&");
    var arr;
    for (var i = 0; i < paramArr.length; i++) { 
   
      arr = paramArr[i].split("=");

      if (arr != null && arr[0] == paramName) { 
   
        return arr[1];
      }
    }
    return "";
  }else { 
   
    return "";
  } 
}

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140807.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • React中几种页面跳转方式
    • 1、使用 react-router-dom 中的 Link 实现页面跳转
      • 2、使用 react-router-redux 中的 push 进行页面跳转
        • 3、使用RouteComponentProps 中的history进行页面回退
          • 4、打开一个新的tab页,并截取路径
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档