作为主题,如何在处理程序中获取路径名称?
例如:
例如:
var routes = <Route handler={App} path="/"> <Route name="home" path="/home" handler={HomePage} /> <DefaultRoute handler={HomePage} /> </Route> Router.run(routes,function(Handler,state) { var params = state.params; React.render(<Handler params={params}/>,document.body); });
现在假设我有一个这样的组件:
class HomePage extends React.Component { render() { return(<div>MyComponent</div>) } }
我怎样才能获得当前的路线名称?更具体一点,我想得到
name="home"
属性来自
<Route name="home" path="/home" handler={HomePage} />
在react-router 0.13之前,您可以使用Router.State mixin来使用this.getRoutes().
对于react-router 0.13,您也可以使用它:
var currentRoutes = this.context.router.getCurrentRoutes(); var lastRoute = currentRoutes[currentRoutes.length - 1]; console.log(lastRoute.name);
对于react-router v2.0.x,您可以使用:
this.props.routes[this.props.routes.length-1]