我正在玩我的Web应用程序和react-router包,我想做一些嵌套的路由。这是我所做的

<Route name="app" path="/" handler={App}>
    <DefaultRoute handler={AppPage}>
        <DefaultRoute name="home" handler={HomePage}/>
        <Route name="rooms"  handler={RoomsPage}/>
    </DefaultRoute>
    <Route name="login" handler={LoginPage}/>
    <Route name="firstime" handler={FirstTimePage}/>
</Route>


由于DefaultRoute,此示例无法正常工作。当我将其更改为常规Route组件时,一切正常。我找不到DefaultRoute有一些孩子的示例。 DefaultRoute是否可以具有嵌套路由?如果是,那我在做什么错?

最佳答案

我遇到了同样的问题,最终使用而不是。

我快速浏览了DefaultRoute组件,它似乎不支持子路由,下面是代码:

/**
 * A <DefaultRoute> component is a special kind of <Route> that
 * renders when its parent matches but none of its siblings do.
 * Only one such route may be used at any given level in the
 * route hierarchy.
 */
var DefaultRoute = React.createClass({

  displayName: 'DefaultRoute',

  mixins: [ Configuration ],

  propTypes: {
    name: PropTypes.string,
    path: PropTypes.falsy,
    children: PropTypes.falsy,
    handler: PropTypes.func.isRequired
  }

});

module.exports = DefaultRoute;


我不是100%肯定,但是'children:PropTypes.falsy',可能意味着DefaultRoute不支持嵌套路由。

希望这可以帮助。

09-25 14:36