关于 uniwind
Uniwind 是面向 React Native 开发者的最佳实践技能,按影响优先级整理配置、主题、组件集成和性能规则,支持代码生成与重构。
主要功能
- 01覆盖 8 类开发规则
- 02按影响程度排列规则
- 03指导构建配置与主题设计
- 04包含组件集成和响应式布局
- 05提供性能优化与迁移建议
适用场景
- 01为新 React Native 项目配置 Uniwind
- 02构建 CSS 变量主题系统
- 03为第三方组件添加 className 支持
- 04从 NativeWind 迁移至 Uniwind
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ pproenca/ dot-skills --skill uniwind安装后在 Claude Code 中输入/uniwind确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
AGENTS.mdmetadata.jsonassets/templates/_template.mdreferences/_sections.mdbuild-css-entry.mdbuild-debug-mode.mdbuild-metro-config.mdbuild-rem-polyfill.mdbuild-restart-metro.mdbuild-typescript-types.mdcomp-accent-colors.mdcomp-custom-css.mdcomp-module-level.mdcomp-prop-mapping.mdcomp-reanimated.mdcomp-with-uniwind.mdcompat-cssinterop-replacement.mdcompat-nativewind-migration.mdcompat-rem-default.mdcompat-safe-area-changes.mdcompat-tailwind-4-syntax.mdperf-avoid-inline-styles.mdperf-combine-styles.mdperf-memoize-variants.mdperf-static-classnames.mdperf-tailwind-merge.mdperf-use-resolve-sparingly.mdplat-font-families.mdplat-ios-android-selectors.mdplat-safe-area-context.md详细介绍
Uniwind 最佳实践
全面的 Uniwind 性能优化与最佳实践指南。Uniwind 是适用于 React Native 的最快 Tailwind CSS 绑定。本指南包含 8 个类别中的 45+ 条规则,并按影响程度排序,以指导自动重构和代码生成。
适用场景
在以下情况下参考这些指南:
- 在新的 React Native 项目中设置 Uniwind
- 配置 Metro 插件和 CSS 入口点
- 使用 CSS 变量构建主题系统
- 集成支持 className 的第三方组件
- 为手机和平板电脑创建响应式布局
- 优化样式性能
- 从 NativeWind 迁移到 Uniwind
按优先级划分的规则类别
| 优先级 | 类别 | 影响程度 | 前缀 |
|---|---|---|---|
| 1 | 构建时配置 | 严重 | build- |
| 2 | 主题架构 | 严重 | theme- |
| 3 | 组件集成 | 高 | comp- |
| 4 | 响应式设计 | 高 | resp- |
| 5 | 性能优化 | 中高 | perf- |
| 6 | 平台模式 | 中 | plat- |
| 7 | 状态与交互 | 中 | state- |
| 8 | 迁移与兼容性 | 中低 | compat- |
快速参考
1. 构建时配置(严重)
build-metro-config- 使用必需选项配置 Metro 插件build-css-entry- 将 CSS 入口文件放在应用根目录中build-typescript-types- 配置 TypeScript 定义文件的位置build-restart-metro- 配置变更后重启 Metrobuild-debug-mode- 在开发期间启用调试模式build-rem-polyfill- 配置 rem 基准值,确保设计系统一致性
2. 主题架构(严重)
theme-css-variables- 使用 @theme 指令定义主题变量theme-variant-blocks- 使用 @variant 块定义主题theme-consistent-variables- 在所有主题中定义相同的变量theme-custom-registration- 在 Metro 配置中注册自定义主题theme-oklch-colors- 使用 OKLCH 颜色空间实现感知均匀性theme-light-dark-function- 使用 light-dark() 函数实现自适应颜色theme-no-provider- 从应用中移除 ThemeProvider 包装器
3. 组件集成(高)
comp-with-uniwind- 使用 withUniwind 处理第三方组件comp-module-level- 在模块级别定义包装后的组件comp-prop-mapping- 为非样式属性使用自定义属性映射comp-accent-colors- 使用 accent-* 类提取颜色属性comp-reanimated- Reanimated 组件无需 withUniwind 即可使用comp-custom-css- 使用自定义 CSS 类编写复杂且可复用的样式
4. 响应式设计(高)
resp-mobile-first- 采用移动优先设计并逐步增强resp-limit-breakpoints- 将断点限制为 3-5 个,以便于维护resp-visibility-toggle- 使用 hidden/flex 控制响应式可见性resp-custom-breakpoints- 使用语义化名称定义自定义断点resp-responsive-spacing- 根据屏幕尺寸调整间距和排版
5. 性能优化(中高)
perf-static-classnames- 使用完整的静态类名进行构建时解析perf-use-resolve-sparingly- 谨慎使用 useResolveClassNamesperf-memoize-variants- 对变体样式对象进行记忆化perf-tailwind-merge- 使用 tailwind-merge 去重类名perf-avoid-inline-styles- 优先使用 className,而非内联 style 属性perf-combine-styles- 正确组合 className 和 style 属性
6. 平台模式(中)
plat-ios-android-selectors- 使用平台选择器处理 iOS/Android 差异plat-safe-area-context- 使用 react-native-safe-area-context 处理安全区域plat-yoga-layout- 了解 Yoga 布局引擎的差异plat-web-selector- 在跨平台应用中使用 web: 选择器plat-font-families- 配置字体系列且不使用回退字体
7. 状态与交互(中)
state-pressable-states- 使用 Pressable 及 active:/focus:/disabled: 状态state-data-selectors- 使用数据选择器设置组件状态样式state-no-hover- 在原生平台上避免使用 hover:,改用 active:state-group-variants- 使用组变体设置父子样式(WIP)state-dark-mode- 使用 dark: 变体设置深色模式样式
8. 迁移与兼容性(低至中)
compat-nativewind-migration- 遵循 NativeWind 迁移检查清单compat-tailwind-4-syntax- 使用 Tailwind 4 的 CSS 优先配置compat-rem-default- 考虑 rem 默认值的差异compat-cssinterop-replacement- 将 cssInterop 替换为 withUniwindcompat-safe-area-changes- 将 *-safe 类替换为 Safe Area Context
使用方法
阅读各个参考文件,了解详细说明和代码示例:
参考文件
| 文件 | 说明 |
|---|---|
| AGENTS.md | 包含所有规则的完整汇编指南 |
| references/_sections.md | 类别定义和排序 |
| assets/templates/_template.md | 新规则模板 |
| metadata.json | 版本和参考信息 |
评论
支持 Markdown