ohos-react-native-performance

OpenHarmony React Native performance static checks and optimization. Based on ohos_react_native performance doc. Use when writing or reviewing React Native for OpenHarmony code, bundle-harmony, lifecycle, or TurboModule. Applies to RNAbility, Hermes bytecode, React render optimization.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "ohos-react-native-performance" with this command: npx skills add OpenHarmony-SIG / homecheck/ohos-react-native-performance

OpenHarmony React Native Performance Static Check Skills

Static-check rules and config for React Native for OpenHarmony, from the official performance-optimization doc. This skill is English-only to reduce token usage; Chinese content is available via links below.

When to Apply

Use this skill when:

  • Writing or reviewing React Native for OpenHarmony (RNOH) application code or OpenHarmony project configuration
  • Optimizing React Native page rendering, setState, or list performance
  • Configuring bundle-harmony build, Hermes bytecode, or Release build
  • Integrating or reviewing RNAbility lifecycle (onForeground/onBackground)
  • Designing or implementing TurboModule (main vs worker thread)
  • Preparing for performance analysis with Trace, React Marker, FCP, etc.

Rule Categories by Priority

PriorityCategoryImpactPrefix
1Render optimizationCRITICALrnoh-render-
2Bundle & nativeHIGHrnoh-bundle-, rnoh-native-
3Lifecycle & monitorHIGHrnoh-lifecycle-
4TurboModuleMEDIUMrnoh-turbo-
5List & keyMEDIUMrnoh-list-

Quick Reference

1. Render optimization (CRITICAL)

  • rnoh-render-avoid-same-state — Avoid setState when state unchanged to prevent extra renders
  • rnoh-render-pure-memo — Use PureComponent or React.memo to avoid unnecessary re-renders
  • rnoh-render-props-once — Create callbacks/prop objects once (constructor or outside component)
  • rnoh-render-split-child — Split independent UI into child components
  • rnoh-render-merge-setstate — Merge setState to avoid multiple commits and renders
  • rnoh-render-state-not-mutate — Use new objects in setState; do not mutate existing state
  • rnoh-render-batching — Keep React 18 Automatic Batching enabled (RNOH default concurrentRoot: true)

2. Bundle & native config (HIGH)

  • rnoh-bundle-release — Use --dev=false --minify=true for performance/production bundle
  • rnoh-bundle-hbc — Prefer Hermes bytecode (hermesc) for production
  • rnoh-native-release — Use Release build on native side; lower LOG_VERBOSITY_LEVEL when appropriate
  • rnoh-native-bisheng — Optionally use BiSheng compiler (buildOption.nativeCompiler: "BiSheng")

3. Lifecycle & monitoring (HIGH)

  • rnoh-lifecycle-foreground-background — Call onForeground/onBackground in onPageShow/onPageHide or onShown/onHidden
  • rnoh-lifecycle-fcp — First-frame monitoring: use mount event or root onLayout to report FCP

4. TurboModule (MEDIUM)

  • rnoh-turbo-worker — Run heavy TurboModules (JSON, crypto, image, network, I/O) on worker thread; avoid ImageLoader on worker

5. List & key (MEDIUM)

  • rnoh-list-key — Provide stable keys for list items; avoid using index as key

How to Use

  • Static checks: Apply the rules above in code review or scripts (JS/TS and config).
  • Details and examples: See the corresponding rule files under rules/ (e.g. rules/rnoh-render-pure-memo.md).
  • Full doc: Performance optimization (en).

Relation to general React Native skills

  • This skill focuses on OpenHarmony-specific React Native performance (RNAbility, bundle-harmony, HBC, TurboModule worker, Trace/React Marker).
  • It complements vercel-react-native-skills and react-native-best-practices: list virtualization (FlashList), Pressable, expo-image, StyleSheet, etc. still apply; this skill adds OpenHarmony-side config and render-optimization details.

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

miaoda-app-chat-sync

Convert Git repository code to structured JSON instructions for AI agents. Fetches code from Git repositories (GitHub, GitLab, etc.), generates structured JS...

Registry SourceRecently Updated
Coding

Golang Modernize

Continuously modernize Golang code to use the latest language features, standard library improvements, and idiomatic patterns. Use this skill whenever writin...

Registry SourceRecently Updated
2040samber
Coding

Reliable Tool Context

Build reliable tool context from command output using artifacts and compact reproducible code queries.

Registry SourceRecently Updated
Coding

qwencloud-text

[QwenCloud] Generate text, have conversations, write code, reason, and call functions with Qwen models. TRIGGER when: user asks to chat with Qwen, generate t...

Registry SourceRecently Updated