0
我正在使用React Router 4,並沒有通過嵌套的Switch
組件進行路由。這裏是我的路線:爲什麼我不通過交換機進行路由? React Router v4
const routes = (
<div>
<Switch>
<Route exact path="/" >
<Switch>
<Route path="/test" component={Test} />
<Route path="/other" component={Other} />
<Route path="/about" component={About} />
</Switch>
</Route>
<Route path="*" component={NotFound} />
</Switch>
</div>
);
我打根/
路線,但如果我嘗試路由到其他任何嵌套路線,/other
,/test
的,我去我的錯誤頁面。我認爲這是因爲我有exact
的Route
與根/
路線,但我不知道。我該如何解決?
第一'之開關總是要路線:
你可以從我的工作示例檢查這些文件第一個「路線」。路由器永遠不會路由到'NotFound'' Route'。 – jhamm
你是對的,我已經更新了答案,結構取決於將如何成爲你的頁面佈局,我分享了我的例子,因爲我的頁眉和頁腳處於分離的路徑,並且交換機中的所有路由都在另一個路由中組件,包括NotFound路由。現在不需要嵌套開關。 – Polak
我需要多個'Switch'。基本上,如果你有權訪問,你將被允許進入第一個'Switch'的第一個'Route',否則你將進入'Not Found'頁面。如果你通過第一個'Switch'完成,那麼你將被允許瀏覽第二個'Switch'。 – jhamm