ReactStrap中的NavLink具有意外行为-“ to”和“ activeClassName”不适用

时间:2019-03-14 15:33:16

标签: javascript reactjs react-router jsx reactstrap

有一个更大的包装组件,称为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放在一个地方,但这没什么不同。

在此先感谢您的指导!

0 个答案:

没有答案