用途:该资料面向使用 Vite 构建的 React 单页应用(SPA),推荐采用 React Router v7 的 Data Mode,即 createBrowserRouter 配合 RouterProvider,并与 Convex 作为后端数据层配合使用。核心原则是 Convex 负责数据,Router 负责导航。
主要能力:React Router 处理路由、导航、URL 参数、嵌套布局和懒加载;Convex 负责数据获取(useQuery)、变更(useMutation)和实时更新。资料强调不要将 React Router 的 loaders/actions 与 Convex 混用。
必要用法:需安装 react-router-dom(用项目自身的包管理器安装)。初始化时用 createBrowserRouter 定义路由树,并在 Vite 的 HMR 中通过 import.meta.hot.dispose 调用 router.dispose() 以避免内存泄漏,同时用 ConvexProvider 包裹 RouterProvider。嵌套路由使用 Outlet 渲染子路由,URL 参数用 useParams 读取并结合 Convex 查询,编程式导航用 useNavigate,受保护路由可基于 useConvexAuth 判断并通过 Navigate 重定向。常用 API 还包括 useSearchParams、useLocation、useNavigation、NavLink 与 lazy。
适用场景:适合采用 Convex 作为数据后端、以客户端渲染为主的 Vite SPA 项目,需要嵌套路由、受保护路由、懒加载和实时数据更新的场景。
限制:资料未提供版本兼容范围、性能基准、收费或许可信息。需注意 useQuery 加载时返回 undefined、需自行处理加载与未找到状态;HMR 场景必须释放 router;使用 Convex 时不应使用 loaders/actions。具体命令与安装源码未在资料中完整给出。