关于 ui-components
为界面开发提供 Shadcn UI、Tailwind CSS、SWR 及常见加载和表单组件的使用规范,适用于构建响应式界面和获取 API 数据的开发者。
主要功能
- 01Shadcn UI 与 Tailwind 样式规范
- 02移动优先的响应式设计
- 03使用 SWR 发起 API GET 请求
- 04加载状态组件指导
- 05表单输入示例
适用场景
- 01构建响应式界面组件
- 02获取分页 API 数据
- 03实现加载状态和表单
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ elie222/ inbox-zero --skill ui-components安装后在 Claude Code 中输入/ui-components确认已加载。
详细介绍
UI 组件与样式
UI 框架
- 使用 Shadcn UI 和 Tailwind 构建组件并设置样式
- 使用 Tailwind CSS 以移动端优先的方式实现响应式设计
- 使用
next/image包处理图片
安装新的 Shadcn 组件
pnpm dlx shadcn@latest add COMPONENT
示例:
pnpm dlx shadcn@latest add progress
使用 SWR 获取数据
对服务器发起 API GET 请求时,使用 swr 包:
const searchParams = useSearchParams();
const page = searchParams.get("page") || "1";
const { data, isLoading, error } = useSWR<PlanHistoryResponse>(
`/api/user/planned/history?page=${page}`
);
加载组件
使用 LoadingContent 组件处理加载状态:
<Card>
<LoadingContent loading={isLoading} error={error}>
{data && <MyComponent data={data} />}
</LoadingContent>
</Card>
表单组件
文本输入框
<Input
type="email"
name="email"
label="Email"
registerProps={register("email", { required: true })}
error={errors.email}
/>
文本区域
<Input
type="text"
autosizeTextarea
rows={3}
name="message"
placeholder="Paste in email content"
registerProps={register("message", { required: true })}
error={errors.message}
/>
评论
支持 Markdown