2017-10-11 55 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

相關問題