跳转到内容

React Router

虽然 Remix 是一个多页应用程序,但在加载 JavaScript 时,它会使用客户端路由来提供完整的单页应用程序用户体验,并享受随之而来的速度和网络效率。

Remix 建立在 React Router 之上,由同一团队维护。这意味着您可以在 Remix 应用中使用 React Router 的所有功能。

这也意味着 Remix 的 90% 实际上只是 React Router:一个非常古老、非常稳定的库,可能是 React 生态系统中最大的依赖项。Remix 只是在其后面添加了一个服务器。

导入组件和 Hooks

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" />;