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}`
}