TanStarter Docs

组件

了解 TanStarter 中可用的组件及如何有效使用

TanStarter 提供一套精简的 UI 组件:Shadcn UI、营销组件和业务组件,结构清晰、便于扩展。

组件结构

组件位于 src/components 下,主要分为:

其他按功能划分的目录(如 payment、admin、analytics、chatbox、contact、roadmap)遵循相同组织方式。

Shadcn/ui 与 Base UI

src/components/ui 目录存放应用的基础 UI 构件,来自 Shadcn/ui,所有组件基于 Base UI实现,提供无样式基础。

类别组件说明
表单Input、Textarea、Select、Checkbox、Radio Group、Switch、Form、Input Group、Field表单控件与校验
浮层Dialog、Alert Dialog、Sheet、Drawer、Popover、Hover Card弹窗与浮动内容
导航Tabs、Navigation Menu、Breadcrumb、Menubar、Pagination、Sidebar菜单与导航
数据展示Table、Card、Calendar、Carousel、Avatar、Badge表格、卡片与展示
布局Accordion、Collapsible、Separator、Scroll Area、Resizable布局与结构
反馈Alert、Progress、Skeleton、Spinner、Command、Empty状态与加载

使用说明:

  • 建议不要直接修改 src/components/ui 内文件,以便顺利同步模板更新。
  • 这些组件会定时与 Shadcn/ui + Base UI 组件保持同步。
  • src/components/ui 已排除在 Biome 的 lint 与格式化之外。

营销组件

落地页与营销组件集中在 src/components/blocks,可直接用于首页、定价等页面:

  • Hero — hero.tsx、homepage.tsx
  • Features — features.tsx、features2.tsx、features3.tsx
  • Stats、Logo cloud、Testimonials — stats.tsx、logo-cloud.tsx、testimonials.tsx
  • FAQs、CTA — faqs.tsx、calltoaction.tsx
  • Integration、Newsletter — integration.tsx、integration2.tsx、newsletter-card.tsx
  • Pricing — pricing.tsx(组合定价表的组件)

可按产品需要复制并修改这些组件,更多组件参考可查看 Tailark。

业务组件

按功能划分的组件位于 src/components 下对应目录:

目录用途
auth登录、注册、忘记密码、重置密码、社交登录
blog博客卡片、网格、分页
layout导航栏、页脚、侧栏、仪表盘布局、容器
sharedLogo、Toaster、表单成功/错误、用户按钮/头像
settings个人资料、账单、安全、文件、API 密钥、通知
theme主题 Provider、模式切换
pricing价格卡片、表格、结账按钮、客户门户
data-table可复用数据表(筛选、排序、工具栏)
dashboard组件卡片、图表

新增组件时,放入对应功能目录,使用 PascalCase 命名,并尽量复用 components/ui 与 shared 组件。

示例:

// src/components/dashboard/section-cards.tsx
import { Card } from "@/components/ui/card"

export function SectionCards() {
  return (
    <Card>
      {/* ... */}
    </Card>
  )
}

参考资料

下一步

了解 TanStarter 的组件后,可以继续阅读:

最后更新于

本页目录