路由树

TanStack Router 使用嵌套路由树来匹配 URL 和正确的组件树进行渲染。

要构建路由树,TanStack Router 支持

两种方法都支持完全相同的核心特性和功能,但基于文件的路由只需更少的代码就能获得相同或更好的结果。因此,基于文件的路由是配置 TanStack Router 的首选和推荐方式。大部分文档都是从基于文件的路由的角度编写的。

路由树

嵌套路由是一个强大的概念,它允许您使用 URL 来渲染嵌套的组件树。例如,给定 URL /blog/posts/123,您可以创建一个如下所示的路由层级结构

tsx
├── blog
│   ├── posts
│   │   ├── $postId
├── blog
│   ├── posts
│   │   ├── $postId

并渲染如下所示的组件树

tsx
<Blog>
  <Posts>
    <Post postId="123" />
  </Posts>
</Blog>
<Blog>
  <Posts>
    <Post postId="123" />
  </Posts>
</Blog>

让我们将这个概念扩展到一个更大的站点结构,但现在使用文件名

/routes
├── __root.tsx
├── index.tsx
├── about.tsx
├── posts/
│   ├── index.tsx
│   ├── $postId.tsx
├── posts.$postId.edit.tsx
├── settings/
│   ├── profile.tsx
│   ├── notifications.tsx
├── _pathlessLayout/
│   ├── route-a.tsx
├── ├── route-b.tsx
├── files/
│   ├── $.tsx
/routes
├── __root.tsx
├── index.tsx
├── about.tsx
├── posts/
│   ├── index.tsx
│   ├── $postId.tsx
├── posts.$postId.edit.tsx
├── settings/
│   ├── profile.tsx
│   ├── notifications.tsx
├── _pathlessLayout/
│   ├── route-a.tsx
├── ├── route-b.tsx
├── files/
│   ├── $.tsx

以上是一个有效的路由树配置,可以与 TanStack Router 一起使用!基于文件的路由有很多强大的功能和约定需要解读,所以让我们来分解一下。

路由树配置

路由树可以通过几种不同的方式进行配置

请务必查看上方每种路由树类型的完整文档链接,或者直接继续下一部分以开始使用基于文件的路由。

我们的合作伙伴
Code Rabbit
Netlify
Neon
Clerk
Convex
Sentry
订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。

订阅 Bytes

您的每周 JavaScript 资讯。每周一免费发送给超过 10 万开发者。

Bytes

无垃圾邮件。您可以随时取消订阅。