Hyperlink 为什么activeClassName是盖茨比的';s链接组件不适用于我的锚链接?
因此,我试图创建一个单页网站,我只希望导航链接滚动到锚链接点击。我想知道为什么当我点击这些锚链接时activeClassName不起作用。我注意到,单击锚链接时显示的活动链接是父链接 我已经尝试对父链接使用partiallyActive={false},但仍然没有任何结果 这是我的代码:Hyperlink 为什么activeClassName是盖茨比的';s链接组件不适用于我的锚链接?,hyperlink,gatsby,Hyperlink,Gatsby,因此,我试图创建一个单页网站,我只希望导航链接滚动到锚链接点击。我想知道为什么当我点击这些锚链接时activeClassName不起作用。我注意到,单击锚链接时显示的活动链接是父链接 我已经尝试对父链接使用partiallyActive={false},但仍然没有任何结果 这是我的代码: <li> <Link className={headerStyles.navItem} activeClassName={headerStyles.navItemActive} to="/
<li>
<Link className={headerStyles.navItem} activeClassName={headerStyles.navItemActive} to="/" partiallyActive={false}>
Home
</Link>
</li>
<li>
<Link className={headerStyles.navItem} activeClassName={headerStyles.navItemActive} to="/#portfolio">Portfolio
</Link>
</li>
家
文件夹
我希望点击后“公文包”链接会突出显示,但突出显示仍保留在“主页”链接上。url也会更改,但activeClassName不会从“Home”转移到“Portfolio”。这到底是怎么回事?activeClassName对锚定链接不起作用吗?如上所述,您不能对Gatsby的链接使用哈希:
无论是
还是导航
都不能用于带有散列或查询参数的路线内导航。如果您需要这种行为,您应该使用锚定标记或导入Gatsby已经依赖的@reach/router
包,以利用其导航
功能
还请注意,如果在“/#公文包”链接上将partiallyActive
设置为true,则“/#公文包”也匹配“/”,则“/”链接将高亮显示。您不应将链接组件用于锚定,请使用普通锚定标记。我也有同样的问题,并且不使用哈希链接。