2017-10-10 115 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

工作就像一个魅力!谢谢! –