在您决定使用新工具之前,了解它与竞争对手的比较总是很有帮助的!
此比较表力求尽可能准确和公正。如果您使用了其中任何一个库,并觉得信息可以改进,请随时使用本页面底部的“在 GitHub 上编辑此页面”链接提出修改建议(并附带说明或证据)。
特性/功能键
| TanStack Router / Start | React Router DOM (网站) | Next.JS (网站) | |
|---|---|---|---|
| Github 仓库 / 星星数 | |||
| 打包大小 | ❓ | ||
| 历史、内存和哈希路由器 | ✅ | ✅ | 🛑 |
| 嵌套 / 布局路由 | ✅ | ✅ | 🟡 |
| 类 Suspense 路由转换 | ✅ | ✅ | ✅ |
| 类型安全路由 | ✅ | 🟡 (1/5) | 🟡 |
| 基于代码的路由 | ✅ | ✅ | 🛑 |
| 基于文件的路由 | ✅ | ✅ | ✅ |
| 虚拟/程序化基于文件的路由 | ✅ | ✅ | 🛑 |
| 路由器加载器 | ✅ | ✅ | ✅ |
| SWR 加载器缓存 | ✅ | 🛑 | ✅ |
| 路由预取 | ✅ | ✅ | ✅ |
| 自动路由预取 | ✅ | ✅ | ✅ |
| 路由预取延迟 | ✅ | 🔶 | 🛑 |
| 路径参数 | ✅ | ✅ | ✅ |
| 类型安全路径参数 | ✅ | ✅ | 🛑 |
| 类型安全路由上下文 | ✅ | 🛑 | 🛑 |
| 路径参数验证 | ✅ | 🛑 | 🛑 |
| 自定义路径参数解析/序列化 | ✅ | 🛑 | 🛑 |
| 排名路由 | ✅ | ✅ | ✅ |
| 活动链接自定义 | ✅ | ✅ | ✅ |
| 乐观 UI | ✅ | ✅ | 🔶 |
| 类型安全绝对 + 相对导航 | ✅ | 🟡 (1/5 通过 buildHref 工具) | 🟠 (IDE 插件) |
| 路由挂载/转换/卸载事件 | ✅ | 🛑 | 🛑 |
| 开发工具 | ✅ | 🟠 | 🛑 |
| 基本搜索参数 | ✅ | ✅ | ✅ |
| 搜索参数 Hooks | ✅ | ✅ | ✅ |
| <Link/>/useNavigate 搜索参数 API | ✅ | 🟡 (仅通过 to/search 选项提供搜索字符串) | 🟡 (仅通过 to/search 选项提供搜索字符串) |
| JSON 搜索参数 | ✅ | 🔶 | 🔶 |
| 类型安全搜索参数 | ✅ | 🛑 | 🛑 |
| 搜索参数模式验证 | ✅ | 🛑 | 🛑 |
| 搜索参数不可变性 + 结构共享 | ✅ | 🔶 | 🛑 |
| 自定义搜索参数解析/序列化 | ✅ | 🔶 | 🛑 |
| 搜索参数中间件 | ✅ | 🛑 | 🛑 |
| Suspense 路由元素 | ✅ | ✅ | ✅ |
| 路由错误元素 | ✅ | ✅ | ✅ |
| 路由挂起元素 | ✅ | ✅ | ✅ |
| <Block>/useBlocker | ✅ | 🔶 (无硬刷新或跨域导航) | 🛑 |
| 延迟基元 | ✅ | ✅ | ✅ |
| 导航滚动恢复 | ✅ | ✅ | ❓ |
| 元素滚动恢复 | ✅ | 🛑 | 🛑 |
| 异步滚动恢复 | ✅ | 🛑 | 🛑 |
| 路由器失效 | ✅ | ✅ | ✅ |
| 运行时路由操作(战争迷雾) | 🛑 | ✅ | ✅ |
| 并行路由 | 🛑 | 🛑 | ✅ |
| -- | -- | -- | -- |
| 全栈 | -- | -- | -- |
| SSR | ✅ | ✅ | ✅ |
| 流式 SSR | ✅ | ✅ | ✅ |
| 通用 RPCs | ✅ | 🛑 | 🛑 |
| 通用 RPC 中间件 | ✅ | 🛑 | 🛑 |
| React 服务器函数 | ✅ | 🛑 | ✅ |
| React 服务器函数中间件 | ✅ | 🛑 | 🛑 |
| API 路由 | ✅ | ✅ | ✅ |
| API 中间件 | ✅ | 🛑 | ✅ |
| React 服务器组件 | 🛑 | 🟡 (实验性) | ✅ |
| <Form> API | 🛑 | ✅ | ✅ |
您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。