开关外的导航栏
Posted
技术标签:
【中文标题】开关外的导航栏【英文标题】:NavBar outside Switch 【发布时间】:2020-05-04 18:00:26 【问题描述】:App.js
return (
<div>
<NavBar />
<Switch>
<Route exact path='/' component=HomePage></Route>
<Route path='/login' render=() => userCredentials.email ? <Redirect to='/' /> : <Form />></Route>
<Route path='/register' render=() => userCredentials.email ? <Redirect to='/' /> : <Form />></Route>
<Route path='/About' component=About></Route>
<Route path='/Plot' component=Plot></Route>
<Route path='/Profile' component=Profile></Route>
</Switch>
</div> );
我需要 NavBar 出现在每个页面上,所以我将它放在 Switch 组件之外。但是,在执行此操作时,我从 withRouter 中丢失了 match 属性(match.url 或路径为“/”),这很遗憾,因为我也需要它。有什么想法吗?
【问题讨论】:
【参考方案1】:您可以同时匹配多个路由。你可以尝试这样的方法来匹配/
没有确切的标志:
<Switch>
<Route path='/' component=NavBar /> // Will render on every route
<Route exact path='/' component=HomePage></Route>
<Route path='/login' render=() => userCredentials.email ? <Redirect to='/' /> : <Form />></Route>
<Route path='/register' render=() => userCredentials.email ? <Redirect to='/' /> : <Form />></Route>
<Route path='/About' component=About></Route>
<Route path='/Plot' component=Plot></Route>
<Route path='/Profile' component=Profile></Route>
</Switch>
【讨论】:
以上是关于开关外的导航栏的主要内容,如果未能解决你的问题,请参考以下文章