[英]React Router make Link not active for sub routes
我有一个具有以下简单导航功能的React Router应用:
React.DOM.ul(
{className: 'navigation'},
React.DOM.li(
{},
React.createElement(
Link,
{to: '/', activeClassName: 'active'},
React.DOM.i({className: 'fa fa-tachometer'}),
'Dashboard'
)
),
React.DOM.li(
{},
React.createElement(
Link,
{to: '/help', activeClassName: 'active'},
React.DOM.i({className: 'fa fa-life-ring'}),
'Help'
)
)
)
当我加载/
仪表板链接时,正如人们所期望的那样。 单击“帮助”会加载/help
并使“帮助”链接处于活动状态,但也会使“仪表板”链接保持活动状态。
从我可以告诉/help
仍然匹配/
与Link
假设我要积极地出现在某个路由的整个层次结构。 是否可以禁用此行为?
我的路由器:
React.createElement(Route, {
path: '/',
component: Layout
},
React.createElement(IndexRoute, {component: Dashboard}),
React.createElement(Route, {path: '/help', component: Help})
)
如果将Link
的属性onlyActiveOnIndex
设置为true
,则只有在当前路径与链接路径完全匹配时,该属性才处于活动状态。
对我来说,这可以通过在仪表板链接上进行设置来解决问题,例如
React.createElement(
Link,
{to: '/', activeClassName: 'active', onlyActiveOnIndex: true},
React.DOM.i({className: 'fa fa-tachometer'}),
'Dashboard'
)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.