跳转方法:1、利用Link标签,语法“<Link to='跳转地址'></Link>”;2、利用push(),语法“push(跳转地址)”;3、利用history(),语法“this.props.history.goBack();”等。
本教程操作环境: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)
let param1 = {} dispatch(push(/path/newpath', param1)); dispatch(replace(/path/newpath', param1));
3、使用RouteComponentProps 中的history进行页面回退
this.props.history.goBack();
首先定义路由为 :
path: /pathname/:param1/:param2/:param3,
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视频教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。