我看过几个 github 问题和类似的帖子,但我无法弄明白。我在这里有我的路线:
<Router history={browserHistory}>
<Route path='/' component={Main}>
<IndexRoute component={Landing} />
<Route path='login' component={LoginContainer} />
<Route path='user' component={UserContainer} onEnter={checkAuth} >
<Route path='home' component={HomeContainer} />
<Route path='settings' component={SettingsContainer} />
<Route path='doc_attributes' component={AttributesContainer} />
<Route path='groups' component={GroupsContainer} />
<Route path='rules' component={RulesContainer} />
</Route>
<Route path='/dropbox/auth_finish' onEnter={doDropbox} />
<Route path='/box/auth_finish' onEnter={doBox} />
<Route path='/googledrive/auth_finish' onEnter={doGDrive} />
<Route path='/onedrive/auth_finish' onEnter={doOneDrive} />
</Route>
</Router>
以下是感兴趣的链接:
<li><Link to='/user/home' activeClassName="activeLink"><i className="fa fa-home fa-3x fa-fw" aria-hidden="true"></i></Link></li>
<li><Link to='/user/settings' activeClassName="activeLink"><i className="fa fa-wrench fa-3x fa-fw" aria-hidden="true"></i></Link></li>
<li><Link to='/user/groups' activeClassName="activeLink"><i className="fa fa-users fa-3x fa-fw" aria-hidden="true"></i></Link></li>
<li><Link to='/user/rules' activeClassName="activeLink"><i className="fa fa-tasks fa-3x fa-fw" aria-hidden="true"></i></Link></li>
链接加载得很好,但它们从未获得事件类 CSS。只有加载的第一条路线得到它,没有别的。有人有什么想法吗?
最佳答案
您可以使用 componetDidMount
这里的亮点是,您还可以将它与 componentWillUnmount
一起使用,以移除计时器或清除缓存。
我希望这能有所帮助,这里有一些关于这个主题的额外信息:) https://facebook.github.io/react/docs/component-specs.html#mounting-componentdidmount
关于javascript - React-Router 事件类不适用于嵌套路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38277258/