React Native Best Practices

作者 software-mansion-labse3f00cdb3494MIT291 個星標收錄於 2026年10月8日更新於 2026年10月8日儲存庫10 天前更新

Software Mansion's best practices for production React Native and Expo apps on the New Architecture. MUST USE before writing, reviewing, or debugging ANY code in a React Native or Expo project. If the working directory contains a package.json with react-native, expo, or expo-router as a dependency, this skill applies. Trigger on: any code task in a React Native/Expo project, 'React Native', 'Expo', 'New Architecture', 'Reanimated', 'Gesture Handler', 'react-native-svg', 'ExecuTorch', 'react-native-audio-api', 'react-native-enriched-html', 'Worklet', 'Fabric', 'TurboModule', 'WebGPU', 'react-native-wgpu', 'TypeGPU', 'GPU shader', 'WGSL', 'svg', 'animation', 'gesture', 'audio', 'rich text', 'AI model', 'multithreading', 'chart', 'vector', 'image filter', 'shared value', 'useSharedValue', 'runOnJS', 'scheduleOnRN', 'thread', 'worklet', 'Bundle Mode', or any question involving UI, graphics, native modules, or React Native threading and animation behavior. Also use when a more specific sub-skill matches.

AI 產生的概覽

針對 React Native 與 Expo 新架構正式環境應用程式,提供 Software Mansion 最佳實務的參考指引。

功能
此技能是純指令式參考,會引導代理查閱針對 React Native 與 Expo 新架構開發的各主題子技能。內容涵蓋動畫、手勢、SVG、裝置端 AI、富文字、多執行緒、worklets bundle 模式、音訊以及 JSI 原生模組。它產出的是在撰寫、審查或偵錯 React Native 程式碼時套用的指引,而非產生檔案或執行指令碼。
適用情境
在撰寫、審查或偵錯 React Native 或 Expo 專案程式碼之前使用,尤其是工作目錄中的 package.json 依賴 react-native、expo 或 expo-router 時。它也適用於關於 Reanimated、Gesture Handler、worklet、Fabric、TurboModule、WebGPU、音訊或 React Native 執行緒與動畫行為的問題。
執行需求
不需要指令碼或工具,僅為指令。代理需要能存取 references/ 下被引用的子技能檔案,以套用這些指引。

React Native Best Practices

Software Mansion's production patterns for React Native apps on the New Architecture.

Read the relevant sub-skill for the topic at hand. All sub-skills are in references/.

Sub-skills

Sub-skillWhen to use
references/animations/SKILL.mdCSS transitions, CSS animations, CSS pseudo-selectors and callbacks, shared value animations, GPU shader animations (WebGPU, TypeGPU), layout animations (entering/exiting, transitions, keyframes), scroll-driven animations, animation functions (withSpring, withTiming, withDecay), core hooks (useSharedValue, useAnimatedStyle), interpolation, particle systems, procedural noise, SDF rendering, animation performance, 120fps, accessibility, Reanimated 4
references/gestures/SKILL.mdTap, pan, pinch, rotation, swipe, long press, fling, hover, drag, Pressable, RectButton, Swipeable, DrawerLayout, VirtualGestureDetector, gesture composition, gesture testing -- any touch interaction with Gesture Handler
references/svg/SKILL.mdVector graphics, icons, charts, illustrations using React Native SVG
references/on-device-ai/SKILL.mdOn-device AI: LLMs (chat, tool calling, structured output, vision-language models), computer vision (classification, object detection, OCR, semantic/instance segmentation, style transfer, embeddings, text-to-image), speech processing (STT with timestamps, TTS with phonemes, VAD), VisionCamera real-time frame processing, model loading, resource management, custom models with ExecuTorch
references/rich-text/SKILL.mdRich text editor, formatted text input, WYSIWYG, mentions, HTML/Markdown rendering, react-native-enriched-html (formerly react-native-enriched), react-native-enriched-markdown
references/multithreading/SKILL.mdMultithreading, react-native-worklets, background processing, Worker Runtimes, UI thread, scheduleOnUI, scheduleOnRN, Serializable, Synchronizable, offloading computation from the JS thread
references/enable-worklets-bundle-mode/SKILL.mdEnabling react-native-worklets Bundle Mode (imports inside worklets, third-party npm libraries on worklet runtimes) in an Expo, RN CLI, or brownfield app: babel bundleMode plugin option, bundleModeMetroConfig / getBundleModeMetroConfig, mandatory metro and metro-runtime patches per package manager, "Failed to get the SHA-1" errors, missing Fast Refresh for worklet code, uniwind/NativeWind resolver conflicts
references/audio/SKILL.mdAudio playback (buffer sources, oscillators, streaming, queued playback), recording (file, data callback, graph processing), audio effects (gain, filters, delay, convolver, panner, waveshaper), real-time analysis and visualization, audio worklets (custom processing, synthesis), system integration (sessions, interruptions, notifications, permissions), testing with mocks -- any audio feature with react-native-audio-api
references/jsi/SKILL.mdJSI, C++ native modules, jsi::Runtime, jsi::Value, jsi::Object, jsi::Function, jsi::HostObject, jsi::HostFunction, jsi::NativeState, jsi::PropNameID, jsi::ArrayBuffer, jsi::WeakObject, jsi::Scope, jsi::BigInt, JSIException, JSError, JSINativeException, calling JS from C++, calling C++ from JS, HostObject destructor constraints, shared_ptrjsi::Value [blocked], CallInvoker, invokeAsync, JSI threading safety, zero-copy ArrayBuffer, rt.global(), ISerialization, WithRuntimeDecorator, jsi.h

來源與署名

來源:software-mansion-labs/skills位於skills/react-native-best-practices提交e3f00cd

授權條款: MIT

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架