expo-react-native-performance by pproenca/dot-skills
npx skills add https://github.com/pproenca/dot-skills --skill expo-react-native-performance适用于 Expo React Native 应用程序的全面性能优化指南。包含 8 大类共 42 条规则,按影响优先级排序,以指导自动化重构和代码生成。
在以下情况下参考本指南:
| 优先级 | 类别 | 影响程度 | 前缀 |
|---|---|---|---|
| 1 | 应用启动与包大小 | 关键 | startup- |
| 2 | 列表虚拟化 | 关键 | list- |
| 3 | 重渲染优化 | 高 |
广告位招租
在这里展示您的产品或服务
触达数万 AI 开发者,精准高效
rerender-| 4 | 动画性能 | 高 | anim- |
| 5 | 图像与资源加载 | 中高 | asset- |
| 6 | 内存管理 | 中 | mem- |
| 7 | 异步与数据获取 | 中 | async- |
| 8 | 平台优化 | 低中 | platform- |
startup-enable-hermes - 启用 Hermes JavaScript 引擎startup-remove-console-logs - 在生产环境中移除控制台日志startup-splash-screen-control - 控制启动屏幕的可见性startup-preload-assets - 在启动期间预加载关键资源startup-async-routes - 使用异步路由进行代码分割startup-cherry-pick-imports - 使用直接导入而非桶文件list-use-flashlist - 使用 FlashList 替代 FlatListlist-estimated-item-size - 提供准确的 estimatedItemSizelist-get-item-type - 对混合列表使用 getItemTypelist-stable-render-item - 使用 useCallback 稳定 renderItemlist-get-item-layout - 为固定高度的项目提供 getItemLayoutlist-memoize-items - 对列表项组件进行记忆化rerender-use-memo-expensive - 对昂贵的计算进行记忆化rerender-use-callback-handlers - 使用 useCallback 稳定回调函数rerender-functional-setstate - 使用函数式 setState 更新rerender-lazy-state-init - 使用惰性状态初始化rerender-split-context - 按更新频率拆分上下文rerender-derive-state - 派生状态而非同步状态anim-use-native-driver - 为动画启用原生驱动anim-use-reanimated - 对复杂动画使用 Reanimatedanim-layout-animation - 对简单过渡使用 LayoutAnimationanim-transform-not-dimensions - 动画化变换而非尺寸anim-interaction-manager - 在动画期间推迟繁重工作asset-use-expo-image - 使用 expo-image 进行图像加载asset-prefetch-images - 在显示前预取图像asset-optimize-image-size - 请求适当尺寸的图像asset-use-webp-format - 对图像使用 WebP 格式asset-recycling-key - 在 FlashList 图像中使用 recyclingKeymem-cleanup-subscriptions - 在 useEffect 中清理订阅mem-clear-timers - 在组件卸载时清除定时器mem-abort-fetch - 在组件卸载时中止 fetch 请求mem-avoid-inline-objects - 避免在 props 中使用内联对象mem-limit-list-data - 限制内存中的列表数据量async-parallel-fetching - 并行获取独立数据async-defer-await - 推迟 await 直到需要值时async-batch-api-calls - 批量处理相关的 API 调用async-cache-responses - 在本地缓存 API 响应async-refetch-on-focus - 在屏幕获得焦点时重新获取数据platform-android-overdraw - 减少 Android 过度绘制platform-ios-text-rendering - 优化 iOS 文本渲染platform-android-proguard - 为 Android 发布版本启用 ProGuardplatform-conditional-render - 平台特定的优化阅读各个参考文件以获取详细解释和代码示例:
要查看包含所有规则详情的完整指南,请参阅 AGENTS.md。
| 文件 | 描述 |
|---|---|
| AGENTS.md | 包含所有规则的完整编译指南 |
| references/_sections.md | 类别定义和排序 |
| assets/templates/_template.md | 新规则模板 |
| metadata.json | 版本和参考信息 |
每周安装次数
299
代码仓库
GitHub 星标数
85
首次出现
2026年2月6日
安全审计
安装于
opencode291
gemini-cli287
codex286
github-copilot285
kimi-cli275
cursor273
Comprehensive performance optimization guide for Expo React Native applications. Contains 42 rules across 8 categories, prioritized by impact to guide automated refactoring and code generation.
Reference these guidelines when:
| Priority | Category | Impact | Prefix |
|---|---|---|---|
| 1 | App Startup & Bundle Size | CRITICAL | startup- |
| 2 | List Virtualization | CRITICAL | list- |
| 3 | Re-render Optimization | HIGH | rerender- |
| 4 | Animation Performance | HIGH | anim- |
| 5 | Image & Asset Loading | MEDIUM-HIGH | asset- |
| 6 | Memory Management | MEDIUM | mem- |
| 7 | Async & Data Fetching | MEDIUM | async- |
| 8 | Platform Optimizations | LOW-MEDIUM | platform- |
startup-enable-hermes - Enable Hermes JavaScript enginestartup-remove-console-logs - Remove console logs in productionstartup-splash-screen-control - Control splash screen visibilitystartup-preload-assets - Preload critical assets during splashstartup-async-routes - Use async routes for code splittinglist-use-flashlist - Use FlashList instead of FlatListlist-estimated-item-size - Provide accurate estimatedItemSizelist-get-item-type - Use getItemType for mixed listslist-stable-render-item - Stabilize renderItem with useCallbacklist-get-item-layout - Provide getItemLayout for fixed heightsrerender-use-memo-expensive - Memoize expensive computationsrerender-use-callback-handlers - Stabilize callbacks with useCallbackrerender-functional-setstate - Use functional setState updatesrerender-lazy-state-init - Use lazy state initializationrerender-split-context - Split context by update frequencyanim-use-native-driver - Enable native driver for animationsanim-use-reanimated - Use Reanimated for complex animationsanim-layout-animation - Use LayoutAnimation for simple transitionsanim-transform-not-dimensions - Animate transform instead of dimensionsanim-interaction-manager - Defer heavy work during animationsasset-use-expo-image - Use expo-image for image loadingasset-prefetch-images - Prefetch images before displayasset-optimize-image-size - Request appropriately sized imagesasset-use-webp-format - Use WebP format for imagesasset-recycling-key - Use recyclingKey in FlashList imagesmem-cleanup-subscriptions - Clean up subscriptions in useEffectmem-clear-timers - Clear timers on unmountmem-abort-fetch - Abort fetch requests on unmountmem-avoid-inline-objects - Avoid inline objects in propsmem-limit-list-data - Limit list data in memoryasync-parallel-fetching - Fetch independent data in parallelasync-defer-await - Defer await until value neededasync-batch-api-calls - Batch related API callsasync-cache-responses - Cache API responses locallyasync-refetch-on-focus - Refetch data on screen focusplatform-android-overdraw - Reduce Android overdrawplatform-ios-text-rendering - Optimize iOS text renderingplatform-android-proguard - Enable ProGuard for Android releaseplatform-conditional-render - Platform-specific optimizationsRead individual reference files for detailed explanations and code examples:
For the complete guide with all rules expanded, see AGENTS.md.
| File | Description |
|---|---|
| AGENTS.md | Complete compiled guide with all rules |
| references/_sections.md | Category definitions and ordering |
| assets/templates/_template.md | Template for new rules |
| metadata.json | Version and reference information |
Weekly Installs
299
Repository
GitHub Stars
85
First Seen
Feb 6, 2026
Security Audits
Gen Agent Trust HubPassSocketPassSnykPass
Installed on
opencode291
gemini-cli287
codex286
github-copilot285
kimi-cli275
cursor273
React 组合模式指南:Vercel 组件架构最佳实践,提升代码可维护性
106,200 周安装
startup-cherry-pick-importslist-memoize-itemsrerender-derive-state