TanStack Router
TanStack Router(原 React Location)是一个现代的、功能强大的路由库,专注于类型安全和开发体验。
特点优势
-
完全类型安全
- 路由定义时的类型检查
- 参数和查询字符串的类型推断
- 导航和链接的类型安全
-
文件系统路由
- 基于文件系统的路由组织
- 自动路由生成
- 动态路由支持
-
优秀的开发体验
- 自动代码分割
- 开发时的热重载
- 详细的开发时错误提示
基础使用
1. 安装
npm install @tanstack/router
2. 基本路由配置
import {
Router,
Route,
RootRoute,
RouterProvider
} from '@tanstack/router';
// 定义根路由
const rootRoute = new RootRoute({
component: () => (
<div>
<h1>Root Layout</h1>
<Outlet />
</div>
),
});
// 定义索引路由
const indexRoute = new Route({
getParentRoute: () => rootRoute,
path: '/',
component: () => <div>首页</div>,
});
// 定义用户路由
const usersRoute = new Route({
getParentRoute: () => rootRoute,
path: 'users',
component: () => <div>用户列表</div>,
});
// 创建路由器
const router = new Router({
routeTree: rootRoute.addChildren([
indexRoute,
usersRoute,
]),
});
// 应用路由器
function App() {
return <RouterProvider router={router} />;
}