Reactjs 从react路由器v4中具有路径参数的路由重定向
我正在尝试从一个ID为的url重定向到一个ID相同的新url:Reactjs 从react路由器v4中具有路径参数的路由重定向,reactjs,react-router-redux,react-router-v4,Reactjs,React Router Redux,React Router V4,我正在尝试从一个ID为的url重定向到一个ID相同的新url:/folders/:ID到/folders/:ID/summary 我的问题是我的容器FolderSummaryContainer似乎从未被调用:-/ 这是我的react路由器配置(v4),我做得对吗 {/* STUF */} <Route path="/v3"> <LayoutV3> <Switch> <Route exact path="/v3/folders" c
/folders/:ID
到/folders/:ID/summary
我的问题是我的容器FolderSummaryContainer
似乎从未被调用:-/
这是我的react路由器配置(v4),我做得对吗
{/* STUF */}
<Route path="/v3">
<LayoutV3>
<Switch>
<Route exact path="/v3/folders" component={FolderIndexContainer} />
<Route path="/v3/folders/:id">
<FolderShowContainer>
<Switch>
<Redirect from="/v3/folders/:id" to="/v3/folders/:id/summary" />
<Route path="/v3/folders/:id/summary" component={FolderSummaryContainer} />
{/* STUF */}
</Switch>
</FolderShowContainer>
</Route>
</Switch>
</LayoutV3>
</Route>
{/* STUF */}
{/*STUF*/}
{/*STUF*/}
{/*STUF*/}
不要指定路由的子级,您可以像这样做
<Route path="/v3">
<LayoutV3>
<Switch>
<Route exact path="/v3/folders" component={FolderIndexContainer} />
<Route path="/v3/folders/:id" component={FolderShowContainer}/>
</Switch>
</LayoutV3>
</Route>
您可以在FolderShowContainer返回代码中定义路由配置
class FolderShowContainer extends React.Component {
render() {
return (
<div>
{/* */}
<Switch>
<Redirect from="/v3/folders/:id" to="/v3/folders/:id/summary" />
<Route path="/v3/folders/:id/summary" component={FolderSummaryContainer} />
{/* STUF */}
</Switch>
</div>
)
}
}
类FolderShowContainer扩展了React.Component{
render(){
返回(
{/* */}
{/*STUF*/}
)
}
}
我试试看,谢谢。仅供参考,我们正在从react路由器
v3迁移到v4,我们喜欢旧的方式,因为所有路由都在同一个文件中。。。如果可能的话,我们希望保持这样。即使我也这样认为,但在当前版本中,情况发生了变化:)在这个主要版本中,情况发生了很大变化。。。有些很酷,有些有点棘手:-Pha你知道我重定向时如何获取:id
?重定向现在运行良好,但它重定向到/folders/:id/summary
,而不是/folders/42/summary
。我应该使用withRoutesdecorator+match
prop吗?看到这个,是的,使用withRouter