0

有没有办法

navigate('/#about')

reach-router,但有一个偏移量,比如说,-16px?我找不到任何关于它的东西。

4

2 回答 2

1

您可以像这样将状态传递给链接:

...

navigate(
    "/#about/",
    {
        state: { offset: "-16px" },
    }
)

...

然后从目标组件访问状态。您可以将其传递给该组件的任何部分。

在此处阅读有关此内容的更多信息:https ://www.gatsbyjs.org/docs/gatsby-link/#add-state-to-programmatic-navigation

于 2020-04-22T03:04:09.630 回答
0

另一种解决方案可能是监听路由更改并scroll(0, -16);在 url 包含锚点时调用。请参阅https://developer.mozilla.org/en-US/docs/Web/API/Window/scroll。也许打电话scroll后打电话navigate就足够了。

于 2020-04-20T17:55:11.847 回答