React Router 1.0 IndexRoute和activeClassName

时间:2015-11-08 05:50:19

标签: react-router

我有一个用户列表,当我点击一个用户时,我希望用户消息路由自动加载。听起来像是IndexRoute的工作!

  <Route path="users" component={Users}>
    <Route path=":id" component={User}>
      <IndexRoute component={Inbox} />
      <Route path="inbox" component={Inbox} />
      <Route path="profile" component={Profile} />
    </Route>
  </Route>

当我加载用户时,我也有嵌套导航,例如收件箱,个人资料,朋友等。我假设IndexRoute会在索引加载时自动添加activeClassName属性,但事实并非如此。

链接采用以下格式:

<Link to={`/admin/users/${this.state.user.id}/inbox`} activeClassName="active">Inbox</Link>

当我第一次加载用户时,索引组件确实显示,但是收件箱链接不会添加活动类。当我明确单击链接时,它会正确添加活动类。

在加载用户时,默认情况下显示收件箱链接是否处于活动状态的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

由于您正在使用该组件,请尝试将其与:

配对
  <IndexLink to="..." activeClassName="active">Inbox</IndexLink>
用户界面