リアクタールーターdom/ReactJS初心者はここで一般的です。リアクタールーターDomルートとサブルート
私は若干クリーンアップできると思うルータコードをいくつか持っていますが、その試みはこれまで失敗しています。確かにこの分野の私の知識にはいくつかのギャップがあります。私は私の理解を拡大するのに役立っている同様の質問をpagedしましたが、私はこの時点でドットをうまく結びつけていません。
次のコードは問題なく動作しているようですが、すべての管理ルートに「/ admin」というプレフィックスが繰り返し付いています。
<BrowserRouter>
<div>
<div className="nav-bar">
<ul>
<li><Link to="/admin">Home</Link></li>
<li><Link to="/admin/content">Content</Link></li>
...
</ul>
</div>
<div className="nav-content">
<Route exact path="/admin" component={AdminHome}/>
<Route path="/admin/content" component={AdminContent}/>
...
</div>
</div>
</BrowserRouter>
ただし、「入れ子になった」ルートをサブルート要素に移動することはできません。 JavaScriptコンソールはエラーメッセージ "警告:あなたは使用しないでください。同じ経路では無視されます。"
<Route exact path="/admin" component={AdminHome}>
<Route path="/content" component={AdminContent}/>
...
</Route>
ご意見をいただければ幸いです。私はいくつかのオプションを見つけました。例えば、<Route path="/admin/:whatever" render={() => (...)}/>
を使うことができましたが、現時点では正しいパスのようには見えません。
この理由は、最終的にルートパラメータをツリーの下にさらに必要とするからです。 /admin/content/:content_type/:identifier
の行に沿ったURIの場合、理想的には、自分のAdminContentコンポーネントは、親ルートのマッチに関して不自然なものになります。
私は基本的な方法をオフにしている場合は教えてくださいまた、私はそれを読むことが私に光を私に見せてくれると信じているドキュメントがあれば教えてください。
もう一度感謝します!
これはあなたを助ける必要があります - https://reacttraining.com/react-router/core/guides/philosophy/nested-routes –
ありがとう!今のところ深さの1つのレベルで良い...このアプローチを再帰的に適用する – dave