パスレスレイアウトルート(リアクションルータ3で可能だった)を定義しようとするときに直面しています。 は、基本的に何イムが達成しようとするようなものです:私のindex.jsで :彼らは単に私がそれらをしたい、レイアウトするなので、私のアプリケーションコンポーネントでリアクタルータ4 - パスがないレイアウトルートを定義する
<Router history={history}>
<Route path="/" component={App}/>
</Router>
今レイアウト
<Switch>
<Route path="" component={AuthLayout}/>
<Route path="" component={MainLayout}/>
</Switch>
を定義しますAuthLayoutでいくつかの機能を実行し、そのネストされたルートを定義、例えば
:
<Switch>
<Route exact path={`${match.path}/sign-up`} component={SignUpContainer}/>
<Route exact path={`${match.path}/login`} component={LoginContainer}/>
<Route component={SignUpContainer}/>
</Switch>
とMainLayoutで:
<Switch>
<Route exact path={`${match.path}/explorer`} component={ExplorerContainer}/>
//more routes
<Route component={NotFoundContainer}/>
</Switch>
は今、私はスイッチが常に最初の項目にヒットするので、それは文句を言わない動作することを知っており、スイッチなしで、それは両方のコンポーネントをレンダリングします。 私が達成したいのは、浅いURLなので、レイアウトのルートを定義したくありません。
<Route path="/" component={App}>
<IndexRedirect to="login"/>
/*Profile Management Flows*/
<Route path="" component={AuthLayout}>
<Route path="login" component={LoginContainer}/>
<Route path="sign-up" component={SignUpContainer}/>
<Route path="forgot-password" component={ForgotPasswordContainer}/>
<Route path="reset-password" component={ResetPasswordContainer}/>
<Route path="on-boarding" component={OnBoardingContainer}/>
</Route>
何かアドバイス:それはRRTR 3で可能であったが、私は3でちょうど参考のためにRRTR 4に
を行うことができます場合、私はちょうど把握カント私はこのようにそれをやりましたか?私はあきらめて各レイアウトにパスを追加する必要がありますか?私はたぶんRRTR3に固執すべきですか?
はのように思えるが、そのハックのように感じているImが探しているものを、と私から最も近いもの何も見いだせない –