SuperAPI AI 工具集

reusable-ui-components

设计与创作

查看项目

更新于 10-15 21:39

技能介绍

用途:为 Expo Router 项目提供构建可复用、可移植 UI 组件的规范,目标是产出接近生产质量、可跨项目复制粘贴的组件。

主要能力与原则:组件自包含、便于复制;原生优先,先检查 Expo Router 与 Expo 提供的原生原语再自建;以 iOS San Francisco 风格为各平台基线;用复合组件拆分复杂 UI;通过 CSS 变量与设计令牌做主题定制而非硬编码;默认内置键盘处理、安全区域与屏幕阅读器支持。灵感来源包括 shadcn/ui(组件结构与复制式架构)、Radix UI(复合模式与无障碍原语)、Base UI(无头 API 与组合)、Konsta UI(iOS 液态玻璃与平台自适应样式)。

使用方式:组件放在 src/components/ui/,按 Metro 解析优先级使用平台后缀文件:.ios.tsx/.android.tsx/.web.tsx,其次 .native.tsx,最后 .tsx 兜底。在 src/global.css 定义主题令牌(字体、圆角、间距、动画),在 src/css/sf.css 定义 Apple 系统色,iOS 上可用 platformColor 映射原生颜色,并注册为 Tailwind 主题色。JS 中可用 useCSSVariable 读取变量。复合组件通过 createContext 提供共享状态,Root 提供 variant/size/disabled,子组件消费上下文,并导出便捷的简单组件。开发前先查原生原语:导航用 expo-router Stack/Tabs,模态用 presentation,链接用 Link,图标用 expo-symbols,日期选择用 @react-native-community/datetimepicker,分段控件用 @react-native-segmented-control/segmented-control,模糊用 expo-blur 或 expo-glass-effect,触感用 expo-haptics,安全区域用 react-native-safe-area-context。平台判断可用 process.env.EXPO_OS,液态玻璃可用 isLiquidGlassAvailable 检测。

适用场景:Expo Router 应用中的按钮、开关、表单等跨平台组件库建设。

限制:资料未提供安装命令、版本要求、收费与效果数据;示例代码较长,此处不完整抄录。