概述
本教程操作环境:Windows7系统、react17.0.1版、Dell G3电脑。
React中几种页面(组件)跳转方式
1、使用 react-router-dom 中的 Link 实现页面跳转
一般适用于,点击按钮或其他组件进行页面跳转,具体使用方式如下:
<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来进行页面跳转:
let param1 = {}
dispatch(push("/path/newpath'", param1));
dispatch(replace("/path/newpath'", param1));
登录后复制
3、使用RouteComponentProps 中的history进行页面回退
一般在完成某种操作,需要返回上一个页面时使用。
this.props.history.goBack();
登录后复制
4、打开一个新的tab页,并截取路径
首先定义路由为 :
path: "/pathname/:param1/:param2/:param3",
登录后复制
点击事件跳转到新页面 打开一个新的tab:
window.open(`pathname/${param1}/${param2}/${param3}`)
登录后复制
在新的页面获取路径上的参数:
param1: this.props.match.params.param1,
param2: this.props.match.params.param2,
param3: this.props.match.params.param3,
登录后复制
获取路径参数 :
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'
登录后复制
或者
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 "";
}
}
登录后复制
推荐学习:《react视频教程》
以上就是react怎么实现页面组件跳转的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是心灵美红酒为你收集整理的react怎么实现页面组件跳转的全部内容,希望文章能够帮你解决react怎么实现页面组件跳转所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复