javascript – React:调用重定向到页面,并传递参数
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – React:调用重定向到页面,并传递参数,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1633字,纯文字阅读大概需要3分钟。
内容图文
![javascript – React:调用重定向到页面,并传递参数](/upload/InfoBanner/zyjiaocheng/810/d000a45775794aaea28eb6149b149ed5.jpg)
我正在构建我的第一个React应用程序.
在我的代码中,我使用重定向到另一个页面(一个组件)
browserHistory.push(pathToMyComponent)
我也尝试过react-router Link-element. Link元素使我能够将数据传递到目标组件,而不会显示在URL中,如下所示:
<Link to={`/myComponent/${someData}`}>
但现在我不想创建一个链接.相反,我想在按下按钮时执行一些操作,然后使用一些计算数据重定向.
我该怎么做呢?
编辑:
这是我的代码.在登录页面中,用户可以执行Facebook登录.我想要的是在登录成功后将用户重定向到大厅.我想将用户ID传递到大厅.
<Router history={browserHistory} onUpdate={() => window.scrollTo(0, 0)}>
<Route path="/" component={LoginPage}/>
<Route path="/lobby" component={Lobby}/>
</Router>
这是我在阅读你的答案后写的.执行此操作时,日志将打印Uncaught TypeError:无法读取null的属性“context”
this.context.router.push({ //browserHistory.push should also work here
pathname: '/lobby',
state: {userid: authData.uid}
});
Edit2:你的意思是这样的?它给出了语法错误.
class LoginPage extends React.Component {
contextTypes = {
router: React.PropTypes.object
};
constructor(props){
super(props);
...
...
解决方法:
我将使用onClick事件处理程序创建一个普通按钮,该按钮将触发一个函数.在此功能中,您可以计算所需的数据,然后最终推送到路由器.
例:
render() {
return (
...
<button onClick={this._handleButtonClick}>Click me</button>
...
);
}
_handleButtonClick = () => {
//calculate your data here
//then redirect:
this.context.router.push({ //browserHistory.push should also work here
pathname: pathToMyComponent,
state: {yourCalculatedData: data}
});
}
然后,您就可以从您所在位置的状态获取该数据.
查看此here的文档.
编辑:
要使用this.context.router,请在组件的类中添加:
static contextTypes = {
router: React.PropTypes.object
}
内容总结
以上是互联网集市为您收集整理的javascript – React:调用重定向到页面,并传递参数全部内容,希望文章能够帮你解决javascript – React:调用重定向到页面,并传递参数所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。