你如何使用React Router获得路由处理程序上的参数

时间:2015-03-05 20:05:09

标签: javascript reactjs react-router

我正在尝试将路线重定向到另一条路线,并传递一些参数,如下所示:

var UnAuthenticatedClass = React.creatClass({
  statics: {
    willTransitionTo: function (transition) {
      if(!isLoggedIn()) {
        transition.redirect('signin', {
          originalTransition: transition
        });
    }
  }
...

我的路线:

var SignIn = React.createClass({
  componentDidMount: function() {
    console.log(this.getParams().originalTransition); // returns undefined
  },
...

无论我将什么作为params放入,this.getParams()都会返回一个空对象。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

this.getParams()获取Route定义的path属性定义的参数;你不能只传递任何你想要的东西,并期望它们出现在生成的处理程序的参数中。您需要将该数据存储在其他地方(例如与路由器无关)并在另一端获取它们。