如何在react路由器中处理Route内部的多条路径



我想在一个Route中处理两个不同的路由,下面是代码:

<Route exact path={['/$:username', '/$:username/:section']} render={(props)=><FullProfile {...props} me={this.props.me}/>} />

FullProfile里面我会安慰道具。但是,如果我输入第一个路径,username参数将是undefined,如果我进入第二个路径,我将按原样获得它。

为了澄清,假设我输入mydomain.com/$john,那么props.match将是:

params:
section: undefined
username: undefined

如果我输入mydomain.com/$john/likes,那么props.match将是:

params:
section: "likes"
username: "john"

当我进入第一个路径时,usernameundefiend,为什么?正如你所看到的,我把我的路径放入一个数组中,所以它应该对这两种情况都有效。

只有react router的v4.4版本才支持字符串路径阵列。更新到react router dom的最新alpha版本,以使用字符串数组作为路径

工作演示

https://codesandbox.io/s/8yo61w900l

最新更新