框架
版本

路由树

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

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