react-native

Develops React Native and Expo apps covering performance, navigation, native modules, and EAS updates.

22|Updated Sep 10, 2026
One-click install
npx skills add https://github.com/Lynricsy/HyperSkills --skill react-native-lynricsy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: react-native
Source: https://github.com/Lynricsy/HyperSkills/tree/main/skills/react-native
Command: npx skills add https://github.com/Lynricsy/HyperSkills --skill react-native-lynricsy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? React Native and Expo work is full of version-gated traps: FlashList v1 props that are inert in v2, deep imports that break under the Strict TypeScript API, EAS updates that never reach installed builds, and native changes mistakenly shipped over the air. This Skill encodes the invariants, version floors, and verification gates so an agent gives correct, version-aware guidance instead of stale tutorial advice. ## Core Features & Use Cases - Stack detection and version-gated rules: Reads package.json, app config, and eas.json first, then applies 25 core rules covering the New Architecture, Turbo Module codegen contracts, list virtualization, native navigators, and safe areas. - Gated workflows: Six checklists (diagnose-jank, add-native-capability, upgrade-react-native, ship-update, integrate-into-native-app, review) each ending in a measurable gate such as both-platforms-green builds or an update observed on a device. - Deep reference material: Eight reference files cover architecture and codegen, list and startup performance, navigation, Expo/EAS, upgrades, brownfield and monorepos, and debugging and testing. - Use Case: A feed screen scrolls at 20fps with 2000 rows. The Skill detects the installed FlashList major, replaces ScrollView+map with a properly keyed FlashList using getItemType, hoists per-row Intl construction, and requires a before/after profiler measurement. ## Quick Start Ask the agent to diagnose why your React Native feed screen scrolls poorly and to propose a fix with a measurable before-and-after performance comparison.

Frequently Asked Questions about react-native

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I fix a slow React Native list with thousands of rows?

Replace ScrollView with items.map() by a virtualized list such as FlashList or FlatList, since mapping mounts every row before the first frame. Use stable keys from data ids, hoist renderItem and callbacks, and add getItemType for mixed row shapes so recycling works correctly.

How do I migrate a legacy React Native module to a Turbo Native Module?

Write a spec file named with the Native prefix declaring interface Spec extends TurboModule, export it through TurboModuleRegistry, and add a codegenConfig block to package.json. Run codegen via pod install on iOS or the Gradle codegen task, then implement against the generated interface.

Why did my EAS Update not reach my TestFlight build?

An installed build only accepts an update when platform, runtime version, and the channel embedded at build time all match the published branch. Release builds also apply downloads at the next launch, so manual verification needs up to two full cold launches, and native changes can never ship over the air.

Does FlashList v2 need estimatedItemSize?

No. estimatedItemSize, estimatedListSize, and estimatedFirstItemOffset are v1 API and are inert in FlashList v2, which measures items itself. Check the installed major version before adding or flagging any of these props.

Can I still disable the New Architecture in React Native?

No. The New Architecture is the default from 0.76 and the only runtime from 0.82, so newArchEnabled opt-outs no longer exist on supported releases. Legacy modules keep working through the interop layer, except for custom Shadow Nodes and concurrent features.

When should I use Expo Go versus a development build?

Expo Go only runs the stock SDK, so any custom native code, third-party native library, or config plugin effect requires a development build. Update delivery behavior also differs, so never validate over-the-air updates in Expo Go.