首页 > 解决方案 > 如何在 React 中使用动态路由?

问题描述

我正在使用 React 开发仪表板应用程序。我有一些理解问题react-router。我们如何使用动态路由并渲染组件?

我的应用程序有一些静态路由,例如/user,/profile/dashboard. 我正在为路线渲染和User组件。当用户登录时,服务器将发送 JSON 响应,其中包含用户 ID、类型和其他字段。我想在成功登录后将此用户的路由路径更改为(45 是 userId)。最后,组件会根据和渲染不同的元素。ProfileDashboard/dashboard/45DashboarduserIduserType

<Route 
path='/dashboard'
exact={true}
render={(props) => <Dashboard {...props} user={user} handleChildFunc= 
{this.handleChildFunc}/>}/>

这段代码缺少什么?我不确定要谷歌什么或要遵循哪个教程。提前致谢。

标签: reactjsreact-router

解决方案


这就是我使用的:

<Route exact path='/feed/:id' component={
  (props) =>
    <Feed
       postId={props.match.params.id}
    />
}/>

然后可以使用 props.postId 在 Feed 中访问 id,例如

constructor(props) {
  super(props);

  if (props.postId) { 
    // do something
  }
}

推荐阅读