我已经阅读了Gatsby<Link>
、仅客户端路由和@reach/router的文档。
我想我对它的工作原理有很好的了解。然而,我想知道是否有关于静态页面和仅客户端路由之间链接的建议,特别是使用Gatsby<Link>
与@reach/router<Link>
例如,假设/documentation/*
中存在静态页面假设有一个应用程序在/app/*
上只提供客户端路由
这里有4种情况:
-
静态到静态(例如
/documentation/feature-1
到/documentation/feature-2
上的链路(:显然应该在这里使用Gatsby<Link>
。 -
仅对客户端静态(例如
/documentation/feature-1
到/app/feature-1
上的链路(:我应该使用盖茨比<Link>
还是@reach/router<Link>
?这有关系吗?由于目的地仅为客户端,我猜Gatsby<Link>
的预加载不会起作用? -
仅客户端到仅客户端(例如
/app/feature-1
到/app/feature-2
上的链路(:我想我应该使用@reach/router<Link>
。但是我可以在这里使用盖茨比<Link>
吗?这样做有什么好处吗? -
客户端仅为静态(例如
/app/feature-1
到/documentation/feature-1
上的链路(:在这种情况下,我认为我应该使用Gatsby<Link>
,因为目的地是静态的,并且可以进行预取。
也许这里的答案很简单,我应该对所有事情都使用Gatsby<Link>
,但我不确定这是否是正确的答案,如果有的话,会有什么影响。
谢谢!
更新:我的文章在这里对媒介进行解释。
简而言之,gatsby Link
组件是@reach router link
的包装器,添加了来自gatsby
的更多有用内容,值得注意的是prefetch
,这里的文档。
这就是为什么如果你需要以上盖茨比的东西,请使用gatsby Link
。否则,请使用@reach router link
。对我来说,完全使用gatsby Link
。希望这能有所帮助。如果我做错了,请纠正。