雖然 Remix 作為一個多頁應用程式運作,但當 JavaScript 加載時,它會使用客戶端路由來實現完整的單頁應用程式使用者體驗,並具有隨之而來的速度和網路效率。
Remix 建構於 React Router 之上,並由同一個團隊維護。這表示您可以在您的 Remix 應用程式中使用 React Router 的所有功能。
這也表示 Remix 的 90% 實際上只是 React Router:一個非常古老、非常穩定的函式庫,它可能是 React 生態系統中最大的依賴項。Remix 只是在它後面添加了一個伺服器。
Remix 重新匯出了來自 React Router DOM 的所有元件和鉤子,因此您不需要自己安裝 React Router。
🚫 不要這樣做
import { useLocation } from "react-router-dom";
✅ 這樣做
import { useLocation } from "@remix-run/react";
某些元件和鉤子已經過擴展,可以與 Remix 的伺服器端渲染和資料獲取功能一起使用。例如,Link
可以在 Remix 中預先獲取資料和資源,而 React Router 版本則不能。
🚫 不要這樣做
import { Link } from "react-router-dom";
// this won't do anything
<Link prefetch="intent" />;
✅ 這樣做
import { Link } from "@remix-run/react";
// this will prefetch data and assets
<Link prefetch="intent" />;