React Router 1.0 IndexRoute and activeClassName

3

我有一个用户列表,当我点击其中一个用户时,我希望用户的消息路由可以自动加载。听起来像是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
我也想知道这个答案,你现在有解决方案吗? - whalesingswee
1个回答

0

由于您正在使用组件,请尝试将其与以下内容配对:

  <IndexLink to="..." activeClassName="active">Inbox</IndexLink>

在用户界面中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接