1

我已经阅读了 Gatsby 文档<Link>、仅限客户端的路由和 @reach/router。

我想我很清楚它是如何工作的。但是,我想知道是否有建议在静态页面和仅限客户端的路由之间进行链接,特别是使用 Gatsby<Link>与 @reach/router<Link>

比方说,/documentation/*/app/*

这里有4个场景:

  1. 静态到静态(例如到 的链接/documentation/feature-1/documentation/feature-2:显然应该<Link>在这里使用 Gatsby。

  2. 仅限客户端的静态(例如指向 的链接/documentation/feature-1/app/feature-1:我应该使用 Gatsby<Link>还是 @reach/router <Link>?有关系吗?由于目的地是仅限客户端的,我猜 Gatsby 的预加载<Link>不起作用?

  3. 仅限客户端到仅限客户端(例如,指向 的链接/app/feature-1/app/feature-2:我认为我应该为此使用@reach/router <Link>。但是我可以在这里使用 Gatsby<Link>吗?这样做有什么好处吗?

  4. 仅限客户端到静态(例如,指向 的链接/app/feature-1/documentation/feature-1:在这种情况下,我认为我应该使用 Gatsby <Link>,因为目标是静态的并且可能会发生预取。

也许这里的答案很简单,我应该<Link>对所有事情都使用 Gatsby,但我不确定这是否是正确的答案以及如果有的话会产生什么影响。

谢谢!

4

1 回答 1

1

更新:我在媒体上的文章在这里解释。

简而言之,该gatsby Link组件是一个包装器,@reach router link其中添加了更多有用的东西gatsby,值得注意的是prefetch,document here

这就是为什么如果您需要上述 gatsby 的东西,请使用gatsby Link. 否则,只需使用@reach router link. 对我来说,全力以赴gatsby Link。希望这可以帮助。如果我错了,请纠正。

于 2020-06-28T04:36:23.873 回答