有没有办法
navigate('/#about')
有reach-router
,但有一个偏移量,比如说,-16px
?我找不到任何关于它的东西。
有没有办法
navigate('/#about')
有reach-router
,但有一个偏移量,比如说,-16px
?我找不到任何关于它的东西。
您可以像这样将状态传递给链接:
...
navigate(
"/#about/",
{
state: { offset: "-16px" },
}
)
...
然后从目标组件访问状态。您可以将其传递给该组件的任何部分。
在此处阅读有关此内容的更多信息:https ://www.gatsbyjs.org/docs/gatsby-link/#add-state-to-programmatic-navigation
另一种解决方案可能是监听路由更改并scroll(0, -16);
在 url 包含锚点时调用。请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll。也许打电话scroll
后打电话navigate
就足够了。