路由的多个RouteHandler

时间:2015-06-26 10:50:41

标签: reactjs reactjs-flux react-router

我需要根据路线显示多个导航项。 例如

var routes = (
 <Route path="/" handler={Wrapper}>
  <Route handler={NavItemMenu} />
  <Route handler={NavItemSave}/>
 </Route>
);

并使用类似这样的东西

var Nav = React.createClass({
 render: function() {
    return (
        <div className="p-nav-left">
         <ul className="p-navbar-nav">
          <RouteHandler/>   
         </ul>
        </div>
      );
    }
   });

我期待它能同时展示&#34; NavItemMenu&#34;和&#34; NavItemSave&#34;。

同样,我想为不同的路径显示不同的项目。 我该怎么做呢?对于单个路由,如何创建多个处理程序?

1 个答案:

答案 0 :(得分:0)

这不是一个嵌套的情况,而是基于某些东西的价值的替代路线 - 也许是传递给Wrapper的道具?我不得不在这里猜一点,但也许这就是你想要的?

let Wrapper = React.createClass({
    // bunch of code omitted
    render() {
        let contents = null;
    if (this.props.some_value === "x") {
        contents = <NavItemMenu />
    } else {
        contents = <NavItemSave />
    }
    return contents;
    }
});

let Wrapper = React.createClass({ // bunch of code omitted render() { let contents = null; if (this.props.some_value === "x") { contents = <NavItemMenu /> } else { contents = <NavItemSave /> } return contents; } });