1

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 はネストされたルートを持つことができますか? はいの場合、私が間違っていることは何ですか?

4

1 に答える 1

1

私は同じ問題に直面し、代わりに .

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 がネストされたルートをサポートしていないことを意味します。

お役に立てれば。

于 2015-02-27T21:42:03.793 に答える