HomeComponent
、これはアプリケーションのメイン/ホームビューです。 選択したマップマーカーのmap
と詳細div
が含まれています。 地図に表示されている項目と詳細div
はルートで駆動される必要があります。サブルートで駆動される反応ルータベースのコンポーネントと、その上にレンダリングされたページ
/cities
は都市 /houses
は私の心の中で家
ホームビューが表示されホームビューのサブ経路であるかを定義ルートを表示する必要があります表示されるはずです。
<Route component={HomeComponent}>
<Route path="/cities" component=Overview scope="cities">
<Route path=":id" component=Detail scope="cities"/>
</Route>
<Route path="/homes" component=Overview scope="homes">
<Route path=":id" component=Detail scope="homes"/>
</Route>
</Route>
scope
UIの部分が強調表示するか、別々にレンダリングするHomeComponent
ための指標です。おそらくlocation.pathName
から抽出される可能性がありますが、ルートパスが変更された場合、それは壊れてしまいます。
したがって、HomeComponent
は、マップ内で何をレンダリングするかを知るために、子ルート構成要素props.items
にアクセスする必要があります。detail
div?
さらに、(ページ遷移を使用して)ホームビューの上にレンダリングするルートが存在する必要があります。ホームビューは、再作成するのに費用がかかるため、常にDOM内に存在する必要があります。 ReactCSSTransitionGroup
コンポーネントを使用して出入り口をアニメーション化できるように、私はそのようなルートをどこに置くのですか?
アプリのホームビューは、常にhomes
またはcities
のいずれかを表示し、その上に追加のルートを表示する必要があります。それを達成するためにホームルートのサブコンポーネントとして中間コンポーネントが必要でしょうか?
このような追加の経路は次のようになります。
<Route path="/about">
<Route path="/info">
<Route path="/contact">
</Route>
それらはHomeComponent(絶対)の上にレンダリングされるべきであり、半透明であるか、出入りアニメーションを有することができます。
あなたはグローバルパスabout' '/作るために先頭のスラッシュを追加欠場しましたか?なぜあなたは2つの 'HomeComponent'ルートを互いに入れ子にしていますか? – philk
私はaboutページのURIの必要性を誤解しているかもしれません。入れ子を削除するように更新されました。 Aboutページは/ homees/about/infoまたは/ cities/about/infoとしてアクセスできます。あなたが目指しているのはそれですか?ありがとう。 –
ありがとう。私はむしろ '/:scope'の上のページについては何でもレンダリングしたいと思います。反応ルータのpinterestの例に似た何か。ルートについてナビゲートすると、前の '/:scope 'が最初にレンダリングされます。私はページ遷移のためにそれをしたい、 '/:スコープ'は常にすべてのルートの下にレンダリングされるべきです。 – philk