【发布时间】:2020-04-25 20:40:19
【问题描述】:
我已阅读文档 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的链接): 我应该使用 Gatsby<Link>还是 @reach/router<Link>?有关系吗?由于目的地是仅限客户端的,我猜 Gatsby<Link>的预加载不起作用?仅客户端到仅客户端 (例如,
/app/feature-1上的链接到/app/feature-2): 我想我应该为此使用@reach/router<Link>。但是我可以在这里使用 Gatsby<Link>吗?这样做有什么好处吗?仅客户端到静态 (例如,
/app/feature-1到/documentation/feature-1的链接): 在这种情况下,我认为我应该使用 Gatsby<Link>,因为目标是静态的并且可能会发生预取。
也许这里的答案很简单,我应该只使用 Gatsby <Link> 来解决所有问题,但我不确定这是否是正确的答案以及如果有的话会产生什么影响。
谢谢!
【问题讨论】:
-
我也有完全相同的问题......也在这里等待任何帮助。感谢询问
-
我注意到到达链接组件将根据其来源的路由器组件自动填充 URL,因此我必须为此使用到达路由器,否则我需要手动添加完整链接如果使用 gatsby Link 组件。如果页面目标使用默认的 gatsby 路由配置,我会使用 gatsby 链接。如果我使用reach Link vs gatsby Link,我不知道我是否会错过任何特别的东西。希望我做对了!
标签: gatsby reach-router