我有一個構建路由的任務,它維護兩種類型的組件:邊欄和內容。如果url包含category-:type
我必須呈現補充工具欄組件,並且如果url包含任何類型的內容,如profile
,about
或seller
我必須呈現正確的內容。
如果爲側欄和內容類型的每個組合創建<Route />
,則會有很多項目。
如何爲此構建路由? 據我所知,我不能使用像<Route path="/**/:profile" component={Profile}>
這樣的路由,因爲如果路由器將匹配此路徑,它將停止並避免其他比較。react-router或模糊路由中的多個匹配
這裏是我當前的路由
const history = syncHistoryWithStore(browserHistory, routing);
ReactDOM.render(
<Router history={history}>
<Route path="/" component={Base}>
<IndexRedirect to="signin" />
<Route path="n=:id/:title" component={Item} />
<Route path="search(/:type)" component={require_auth(Search)} />
<Route path="people(/:type)" component={require_auth(People_Layout)} />
<Route path="person/:id" component={require_auth(Person_Scene_Layout)} />
<Route path="signin" component={Signin} />
<Route path="signup" component={Signup} />
<Route path="profile" component={require_auth(Profile)} />
</Route>
</Router>
, document.querySelector('#appRoot')
);
所以,我要擴展這個代碼,讓側欄導航在同一時間。我需要保留當前的路由併爲匹配的邊欄添加路由,例如<Route path="category-:type/n=:id/:title" component={Item} />
。此路由可以同時呈現<Sidebar/>
和<Item/>
組件,但爲了使其與所有其他路由一起工作,我必須將幾乎所有現有路由的數量翻倍。
無法理解確切的問題。也許多一點解釋可以幫助 – Swapnil
通過顯示你的確切'路線' –