在反应路由器4中,如何使用regex否定路由/路径?
问题描述:
说我有一个路线switch语句如下所示:在反应路由器4中,如何使用regex否定路由/路径?
render() {
<pre>
<Switch>
<Route path="/foo" render={render}>
<Route path="/bar" render={renderBar}>
<Route path="/" render={renderHome}>
{/* How do i express everything except the home page ?*/}
<Route render={renderFourOhFour}>
</Switch>
</pre>
}
如何编写排除除了给上面的例子主页一切的路线?我只是写一个正则表达式吗?如果是的话我已经试过像
path={^(?!.*(home))}
与正则表达式的东西反应路由器V4测试仪:https://pshrmn.github.io/route-tester/#/
答
您可以使用路由,它被传递位置为道具的render
方法。所以:
<Route render={({location}) => {
return location.pathname !== '/' ? <p>Not home</p> : ''
}} />
这是不是你要找的东西? – Rowland
嗯,我想除家外的一切;所以不行。这不是我要找的。有什么我应该澄清以帮助你理解? – chrisjlee
@chrisjlee您能否澄清以下内容:“我如何表达除主页以外的所有内容” 您是否想要一条将您带到首页的特定路线?你能用非技术的方式描述你的目标是什么吗? –