我正在使用react-router-dom:4.3.0-rc.3
。
路线组件
<Switch>
<Redirect from='/p/:userId' to='/p/:userId/main' />
<Route path="/p/:userId/main" component={Main} />
</Switch>
当我获得网址/p/123456
时,它会重定向到/p/:userId/main
并丢失了userId。
我对此感到困惑。在官方网站上,我找不到答案。
答案 0 :(得分:1)
<Redirect>
不执行任何模式编译。您必须为其提供要重定向到的实际URI。
我采用的方法是使用<Route>
而不是<Redirect>
进行匹配,然后使用解析的参数来构建重定向URI。
<Route path="/p/:userId" render={({ match }) => (
<Redirect to={`/p/${match.params.userId}/main`} />
)} />