Gatsby Link和React Router Link有什么区别?

时间:2017-10-11 07:24:07

标签: react-router gatsby

我有一个网站,其中2个组件由2个不同的路径路由,链接相互之间。当我使用反应路由器Route / Link来实现这些链接时,webpack最终构建中只有1个html页面和javascript应用程序包。当我使用盖茨比链接时,我看到两个html页面都生成了,但每个页面的行为仍然像单页面应用程序(即点击链接不会导致请求服务器获取其他页面,它是只是动态渲染。

  • 那么,这两种页面链接技术之间有什么区别?
  • 如果Gatsby Link的工作方式与react-router Link相同,那么有什么意义呢?
  • 在同一网站上同时使用这两者有什么含义?例如。应用程序动态部分的路由器链接和帮助页面等静态页面的Gatsby链接。

注意:这是问题Clarification on Gatsby page load network request的延续,但涉及的区域略有不同。

2 个答案:

答案 0 :(得分:4)

Gatsby Link是react-router-dom Link组件的必需包装器。两者的工作原理相同,但Gatsby的版本增加了预取功能,并防止路由转换,直到下一页的资源加载完毕。

如果您使用React Route <Link>,事情会以奇怪的方式破裂。

答案 1 :(得分:0)

文档状态:

gatsby-link是react-router中组件的包装器。它会自动为网址加上前缀并处理预取。

gatsby-link自动检测是使用平原还是基于您通过的道具。