react 路由传参及其区别

时间:2020-8-10 作者:admin
  1. 路由表配置:参数地址栏显示
html:
<Route path="/list/:id" component={List} />  
html:<Link to='/list/2' >跳转列表页面</Link>  
Js: 
this.props.history.push('/list/2');  
List页面接收:  
console.log(this.props.match.params.id)//传递过来的所有参数 ```

2.  **query方法:参数地址栏不显示,刷新地址栏,参数丢失**

html: <Link to={{ pathname: ‘/list’, query: { name: ‘xlf’ } }}>跳转列表页面</Link>
Js方式:
this.props.history.push({ pathname: ‘/list’, query: { name: ‘ sunny’ } })
List页面接收:
console.log(this.props.location.query.name)//传递过来的所有参数

3.  **state方法:参数地址栏不显示,刷新地址栏,参数不丢失**  

html:
<Link to={{ pathname: ‘/list’, state: { name: ‘xlf’ } }}>跳转列表页面</Link>
js:
this.props.history.push({ pathname: ‘/list’, state: { name: ‘sunny’ } })
List页面接收
console.log(this.props.location.state.name)//传递过来的所有参数

react Hooks中获取浏览器history的方式:

import { useHistory } from ‘react-router-dom’;
let history = useHistory();
history.push(‘/’)

声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。