Reactjs React Router Dom-设置动态路由的路由名称并在同级组件中访问它
我正在为我的react项目使用Reactjs React Router Dom-设置动态路由的路由名称并在同级组件中访问它,reactjs,react-router-dom,Reactjs,React Router Dom,我正在为我的react项目使用react路由器dom,我有这个基本的路由结构 {getRoutes(已验证,privateRoutes)} 在这里,当呈现带有动态路径/:courseSlug的路由时,我想知道导航栏中的组件 在Navbar组件中,我已使用WithRouterHOC导出,如下所示 export default withRouter( connect(mapStateToProps, mapDispatchToProps)(NavbarComponent) ) 当我尝试访问
react路由器dom
,我有这个基本的路由结构
{getRoutes(已验证,privateRoutes)}
在这里,当呈现带有动态路径/:courseSlug
的路由时,我想知道导航栏中的组件
在Navbar
组件中,我已使用WithRouter
HOC导出,如下所示
export default withRouter(
connect(mapStateToProps, mapDispatchToProps)(NavbarComponent)
)
当我尝试访问位置
或历史
时,没有任何属性可以用来表示呈现了CourseDetailsContainer
const { history, location } = this.props;
console.log({ props: this.props });
console.log({ history, location });
如何解决此问题?您应该能够利用道具。computedMatch
:
let courseSlug = props?.computedMatch?.params?.courseSlug
但是,我不能100%确定您是否可以通过
组件访问它,因此您可能需要在
组件中检查它,然后将布尔值传递回
,或者使用redux配置在组件之间传递数据