2017-10-10 76 views
0

所以我還挺新ReactJS我想實現我的代碼如下的東西 -ReactJS導航特定的路線上(路由器V4)

const App =() => (
    <div> 
    <Header /> 
    <Route path="/:page" exact component={PageWrapper} /> 
    <Route path="/" exact> 
     <Redirect to="/home" /> 
    </Route> 
    </div> 
); 

所以我想實現,如果用戶輸入/ home,/ about,/ anythingElse作爲它不導航的鏈接,但是如果用戶在不傳遞頁面參數的情況下加載頁面,例如 - localhost:3000 /或localhost:3000,則會自動將用戶導航到localhost:3000/home 。

目前如果用戶輸入頁面,它也會導航回家。我認爲確切的意思是確切的路線必須匹配才能加載。

可能嗎?

回答

0

您不應該在V4中嵌套路由。

您可以使用路由器的Switch組件確保只有一條路由匹配。

這種方式不符合/所有路線:頁航線將重定向:

const App =() => (
    <div> 
    <Header /> 
    <Switch> 
     <Route path="/:page" exact component={PageWrapper} /> 
     <Redirect to="/home" /> 
    </Switch> 
    </div> 
) 

記住導入開關組件。

+0

工作就像一個魅力!謝謝! –