2

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

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

注意:这是对 Gatsby 页面加载网络请求的澄清问题的延续,但与略有不同的区域有关。

4

2 回答 2

6

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

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

于 2017-10-11T16:51:39.450 回答
0

文档指出:

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

gatsby-link 自动检测是使用普通的还是基于你传递的道具。

于 2020-07-25T19:18:57.153 回答