有一个更大的包装组件,称为Sidenav:
const Sidenav = () => (
<SidebarGroup>
<SidebarLink to={routes.example1.path} name="example1" />
<SidebarLink to={routes.example2.path} name="example2" />
</SidebarGroup>
);
以及我最关心的组件:
const SidebarLink = ({ to, name }) => (
<li className={styles.sidebarlink}>
<NavLink to={to} activeClassName={styles.active}>{name}</NavLink>
</li>
);
我在这里有2个问题。
1)通常,to
可以完美地重定向到目标URL。但是,当我从ReactStrap与NavLink
切换到使用Link
时,to
不再起作用-必须使用href
才能正确执行点击行动。在线上使用NavLink
的人的其他示例都在使用to
-我缺少某种依赖吗?
2)我想将activeClassName
应用于当前已选项卡或正在单击的菜单项。再次假设,该语法是正确的,但是它没有按预期方式工作-特别是,当您单击或在有问题的菜单项中浏览时,.active
类没有被应用。同样,这是依赖错误还是其他错误?建议withRouter
放在一个地方,但这没什么不同。
在此先感谢您的指导!