我定义了这两条路线:
<Route name='register' handler={Register} >
<Route name='registerpromotion' path='/registerpromotion/:promotionCode' handler={Register}/>
</Route>
因此这两个路由都使用相同的处理程序,称为 Register。
对于registerpromotion路线,我传递一个属性,而对于register路线,我不传递。
我无法让它工作 - PromotionCode 属性始终未定义。
有谁知道是否可以对两个路由使用相同的处理程序?
非常感谢!
最佳答案
此代码来自react-router issue #410作者:rpflorence:
/** @jsx React.DOM */
var React = require('react');
var Router = require('react-router');
var Route = Router.Route;
var Routes = Router.Routes;
var Link = Router.Link;
var Foo = React.createClass({
render: function() {
return (
<div>
<p>hello</p>
<p>stuffId: {this.props.params.stuffId}</p>
<ul>
<li><Link to="root">top</Link></li>
<li><Link to="stuff" params={{stuffId: 'one'}}>one</Link></li>
<li><Link to="stuff" params={{stuffId: 'two'}}>two</Link></li>
</ul>
<this.props.activeRouteHandler />
</div>
);
}
});
var routes = (
<Routes>
<Route name="root" path="/" handler={Foo}>
<Route name="stuff" path=":stuffId" handler={Foo}/>
</Route>
</Routes>
);
React.renderComponent(routes, document.body);
关于reactjs - 我可以为两条路线使用相同的路线处理程序吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26357212/