TanStack Router
面向React等前端框架的类型安全路由库,支持代码分割、数据预加载等特性,以性能优化和开发体验著称
时间轴 (近 90 天)
TanStack Router 最核心的差异化优势是 100% 推断式的 TypeScript 支持
TanStack 是一整套生态,包括 TanStack Router、管理服务端状态的 TanStack Query,以及基于路由构建的全栈框架 TanStack Start
TanStack Router 框架层面支持 React 和 SolidJS
在 TanStack Router 中,文件和文件夹结构会被自动翻译成一个名为 routeTree.gen.ts 的生成文件,由框架自动维护,开发者不需要手动修改
在 TanStack Router 中,__root.tsx 是根路由,index.tsx 对应根路径 /,文件夹本身不构成路由
TanStack Router 的编程式导航通过 useNavigate Hook 获取 navigate 函数来跳转
TanStack Router 的动态路由通过以 $ 开头的文件名实现,例如 $meetupId.tsx
TanStack Router 允许在 createFileRoute 中定义 loader 异步函数发起请求,并通过 Route.useLoaderData() 在组件内取用数据,无需 useState 和 useEffect
TanStack Router 的 Loader 机制借鉴了 Remix/React Router v6.4 引入的数据路由思路,在路由匹配阶段触发数据请求而非等到组件渲染
TanStack Router 提供 pendingComponent 和 errorComponent 配置,分别用于加载期间显示指示器和请求失败时展示错误,使错误局部化处理
还有 3 条时间轴事件
全部知识事实 (13)
TanStack Router 最核心的差异化优势是 100% 推断式的 TypeScript 支持
50%待验证TanStack 是一整套生态,包括 TanStack Router、管理服务端状态的 TanStack Query,以及基于路由构建的全栈框架 TanStack Start
50%待验证TanStack Router 框架层面支持 React 和 SolidJS
50%待验证在 TanStack Router 中,文件和文件夹结构会被自动翻译成一个名为 routeTree.gen.ts 的生成文件,由框架自动维护,开发者不需要手动修改
50%待验证在 TanStack Router 中,__root.tsx 是根路由,index.tsx 对应根路径 /,文件夹本身不构成路由
50%待验证TanStack Router 的编程式导航通过 useNavigate Hook 获取 navigate 函数来跳转
50%待验证TanStack Router 的动态路由通过以 $ 开头的文件名实现,例如 $meetupId.tsx
50%待验证TanStack Router 允许在 createFileRoute 中定义 loader 异步函数发起请求,并通过 Route.useLoaderData() 在组件内取用数据,无需 useState 和 useEffect
50%待验证TanStack Router 的 Loader 机制借鉴了 Remix/React Router v6.4 引入的数据路由思路,在路由匹配阶段触发数据请求而非等到组件渲染
50%待验证TanStack Router 提供 pendingComponent 和 errorComponent 配置,分别用于加载期间显示指示器和请求失败时展示错误,使错误局部化处理
50%待验证通过 validateSearch 绑定 Zod schema,TanStack Router 会在解析 URL 时对搜索参数执行校验和类型转换,非法值被替换为默认值
50%待验证loaderDeps 告诉路由器当指定搜索参数变化时视 loader 缓存失效,从而触发重新请求
50%待验证TanStack Router 的路由定义运行在 React 渲染周期之外,无法在其中调用 useContext 等 React Hook,解决方案是路由上下文(Route Context)
50%