2016-04-04 10 views
0

に基づいてナビゲーションをレンダリングいくつかのアクションボタンがあり、いくつかはアクションボタンを全く持たない。ReactJSは、私は基本レイアウト要素を持っているCoreLayoutコンポーネントを持っている子供

IndexViewは別のページへのアクション(リンク)を持ち、ContactViewは追加のナビゲーションバーを表示しません。

ルータ:

<Route component={CoreLayout}> 
    <Route path='/' component={LoginRequired}> 
     <IndexRoute component={IndexView}/> 
     <Route path='contact' component={ContactView}/> 
    </Route> 
    </Route> 

ナビゲーションはCoreLayoutコンポーネントに配置されたとき、私は、各コンポーネントのための独立したナビゲーションをレンダリングする方法を教えてください。

ビューごとに個別にナビゲーションとサブナビゲーションをロードする必要がありますか?例えば :

<Navigation><SubNavigation> list of links here </SubNavigation></Navigation> 

答えて

1

どちらのアプリ-構造が動作することができます:あなたのCoreLayoutルート成分であなたのナビゲーションバーを持つ、または各ビューコンポーネント内のナビゲーションバーを持ちます。

しかし、このコンポーネントでアプリケーションの共通レイアウトを定義する必要があるため、ルートコンポーネント(CoreLayout)にナビゲーションバーが表示されていると思います。これを行うには、CoreLayoutコンポーネントのrouter-state(現在表示されているビュー)を使用して、ナビゲーションバーに表示するリンクを決定します。

関連する問題