如何为多个 url 状态设置仅使用反应路由器激活一个链路
How to set active only one link with react router for multiple url state?
我的主页上有三个主要链接,例如列表,关于和历史记录。我想在详细信息和照片屏幕中激活列表链接。如何为该特定链接设置为活动状态?
这是我的路由器代码,
<Router history={hashHistory}>
<Route path="/">
<IndexRedirect to="home/lists" />
<Route path="home" component={Home}>
<Route path="lists" component={Lists} />
<Route path="details" component={Details} />
<Route path="photos" component={Photos} />
<Route path="about" component={About} />
<Route path="history" component={History} />
</Route>
</Route>
</Route>
菜单组件,
<li><Link to="home/lists" activeClassName="active">Lists</Link></li>
<li><Link to="home/about" activeClassName="active">About</Link></li>
<li><Link to="home/history" activeClassName="active">History</Link></li>
我想在细节和照片中时始终激活列表链接。如何解决此问题。在过去的 3 小时内,我正在努力解决此问题。有人请让我摆脱这个问题
您可以使用路由器中的位置对象。
this.props.location.pathname
存储有关当前 URL 的信息。下面是一些伪代码:
<Link to="home/lists" className={this.props.location.pathname === 'home/details' || (...) ? 'active' : 'notActive'}>Lists</Link>
相关文章:
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- AngularJS UI路由器不能像ng路由器那样工作
- 激活chrome上的chrome.notifications对象
- 提示使用服务器端事件处理程序激活JavaScript
- 反应路由器弄乱了请求网址
- 如何从外部页面激活非默认引导选项卡
- 选项卡侦听器未被来自后台脚本的消息激活
- 如何使用带有Preact的React路由器
- 基于localStorage的Meteor激活模板
- 如何在react路由器的组件中使用参数
- 父页面的角度路由器导航高亮显示
- AngularJS ui路由器html5模式中断路由
- EJS中的Angularjs-Ui路由器参数
- 使用AngularJS中的UI路由器将状态重定向到默认子状态
- React路由器服务器端渲染和ajax获取数据
- 父路由器激活功能在每次导航到其子路由时运行
- 单击链接两次以使用ui路由器激活状态
- Durandal路由器未激活
- 如何为多个 url 状态设置仅使用反应路由器激活一个链路
- Angular的新路由器可以全局激活多个视图