有没有办法进行
navigate('/#about')
具有reach-router
,但是具有例如-16px
的偏移?我一直找不到关于这方面的任何信息。
您可以将状态传递给链接,如下所示:
...
navigate(
"/#about/",
{
state: { offset: "-16px" },
}
)
...
然后从目的地组件访问该状态。您可以将其传递给该组件的任何部分。
点击此处了解更多信息:https://www.gatsbyjs.org/docs/gatsby-link/#add-状态到程序导航
另一种解决方案可以是侦听路由更改,如果url包含锚,则调用scroll(0, -16);
。看见https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll.也许在呼叫navigate
之后再呼叫scroll
就足够了。