2017-10-11 59 views
1

我有一个网站,其中2个组件路由2个不同的路径和链接彼此。当我使用反应路由器Route/Link来实现这些链接时,webpack最终版本中只有1个html页面和javascript应用程序包。当我使用Gatsby Link代替时,我看到生成了两个html页面,但每个页面的行为仍然像单页面应用程序(即,单击链接不会导致请求服务器获取其他页面,它是只是动态呈现)。Gatsby Link和React Router Link有什么区别?

  • 那么,这2页链接技术有什么区别?
  • 如果使用Gatsby Link,如果它与react-router Link的工作方式相同,那么要点是什么?
  • 在同一网站上同时使用这两种方法有什么含义?例如。用于应用程序的动态部分的路由器链接以及用于帮助页面等静态页面的Gatsby链接。

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

回答

2

Gatsby Link是react-router-dom Link组件的必需包装器。这两个工作是一样的,但Gatsby的版本增加了预取以及阻止路由转换,直到下一页的资源完成加载。

如果您使用反应路线<Link>,事情会以怪异方式破坏。

+0

谢谢。我是新来的。你能解释一下“自动替代”和“服务人员”是什么吗?此外,为什么Gatsby-Link是未来的证明,但路由器链接不是? – Andrew

+0

NavLink增强链接,而Gatsby-Link则兼顾两者。服务工作者是浏览器在后台执行的脚本,即使网页未加载。 – Scriptonomy

相关问题