React Router v4 页面传值的三种方法
2018-06-24 02:02:53来源:未知 阅读 ()
传值方法
1、props.params
使用React router定义路由时,我们可以给指定一个path,然后指定通配符可以携带参数到指定的path:
<Route path='/user/:name' component={UserPage}></Route>
跳转UserPage页面时,可以这样写:
//link方法 <Link to="/user/sam">用户</Link> //push方法 this.props.history.push("/user/sam");
在UserPage页面中通过 this.props.params.name 获取值。
上面的方法可以传递一个或多个值,但是每个值的类型都是字符串,没法传递一个对象,如果要传的话可以将json对象转换为字符串,传递过去之后再将json字符串转换为对象。
let data = {id:3,name:sam,age:36}; data = JSON.stringify(data); let path = '/user/${data}'; //在页面中获取值时 let data = JSON.parse(this.props.params.data);
2、query
query方式可以传递任意类型的值,但是页面的URL也是由query的值拼接的,URL很长且是明文传输。
//定义路由 <Route path='/user' component={UserPage}></Route> //数据定义 let data = {id:3,name:sam,age:36}; let path = { pathname: '/user', query: data, } //页面跳转 <Link to={path}>用户</Link> this.props.history.push(path); //页面取值 let data = this.props.location.query; let {id,name,age} = data;
3、state
state方式类似于post,依然可以传递任意类型的数据,而且可以不以明文方式传输。
//定义路由 <Route path='/user' component={UserPage}></Route> //数据定义 let data = {id:3,name:sam,age:36}; let path = { pathname: '/user', state: data, } //页面跳转 <Link to={path}>用户</Link> this.props.history.push(path); //页面取值 let data = this.props.location.state; let {id,name,age} = data;
以上就是react router中页面传值的三种方法。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:前端开发浏览器兼容问题
下一篇:前端开发常用代码片段(下篇)
- js调用刷新界面的几种方式 2020-03-05
- 默认让页面的第一个控件选中的javascript代码 2020-02-20
- web如何实现页面分页打印 2020-02-14
- 页面刷新时记住滚动条的位置jquery代码 2019-12-06
- 在HTML页面加载完毕后运行某个js的实现方法 2019-11-25
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash