Javascript 如何避免路由器参数冲突?

Javascript 如何避免路由器参数冲突?,javascript,reactjs,react-router,Javascript,Reactjs,React Router,找到下面的开关: <Switch> <Route exact path='/portfolios/:page/:portfolioId?/:questionId?' component= {Portfolios} /> </Switch> 假设请求的链接是/portfolions/questions/1,那么getRedirectionURL假设portfolioId是1,这是语义错误!投资组合Id应为未定义或空 它似乎考虑了路径顺

找到下面的
开关

  <Switch>
    <Route exact path='/portfolios/:page/:portfolioId?/:questionId?' component= 
    {Portfolios} />
  </Switch>
假设请求的链接是
/portfolions/questions/1
,那么
getRedirectionURL
假设portfolioId是
1
,这是语义错误!投资组合Id应为
未定义

它似乎考虑了路径顺序/portfolioId,然后是/questionId

我怎样才能避免这种混乱

  <Switch>
    ...
    <Route exact path='/portfolios/random/:portfolioId' component={Subscription} />
    <Route exact path='/portfolios/questions/:questionId' component={RiskFunnelQuestions} />
    <Redirect exact from='/portfolios/banner/:portfolioId' to={this.getRedirectionURL()} />
  </Switch>
getRedirectionURL() {
  const {
    match: {
      params: { portfolioId }
    }
  } = this.props;
  if(!portfolioId){
    return '/anything/else';
  }
  console.log(portfolioId) // is returning 1
 // handling some conditions I'm not writing the full functionalities  
 return `/portfolios/random/${portfolioId}`
}