【发布时间】:2016-05-01 10:51:28
【问题描述】:
我正在构建我的第一个 React 应用程序。 在我的代码中,我使用
重定向到另一个页面(一个组件)browserHistory.push(pathToMyComponent)
我也试用了 react-router Link-element。 Link 元素使我能够将数据传递给目标组件,而无需将其显示在 URL 中,如下所示:
<Link to={`/myComponent/${someData}`}>
但现在我不想创建链接。相反,我想在按下按钮时执行一些操作,然后使用一些计算数据进行重定向。 我该怎么做?
编辑: 这是我的代码。在 loginpage 中,用户可以执行 facebook 登录。我想要的是在登录成功后将用户重定向到大厅。我想将用户 ID 传递给大厅。
<Router history={browserHistory} onUpdate={() => window.scrollTo(0, 0)}>
<Route path="/" component={LoginPage}/>
<Route path="/lobby" component={Lobby}/>
</Router>
这是我看完你的回答后写的。执行此操作时,日志将打印Uncaught TypeError: Cannot read property 'context' of null
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);
...
...
【问题讨论】:
标签: javascript reactjs react-router