react-native

Applies React Native and Expo patterns for performant mobile app development and review.

1|Updated Aug 18, 2026
One-click install
npx skills add https://github.com/scsm-unrestrict/dsh-frontend-engineer-agent --skill react-native-scsm-unrestrict
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: react-native
Source: https://github.com/scsm-unrestrict/dsh-frontend-engineer-agent/tree/main/frontend-engineer/skills/react-native
Command: npx skills add https://github.com/scsm-unrestrict/dsh-frontend-engineer-agent --skill react-native-scsm-unrestrict

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Mobile apps built with React Native frequently suffer from janky scrolling, blocked JS threads, and platform inconsistencies because performance best practices are scattered and easy to miss. This Skill consolidates ranked, actionable patterns so you can build or review React Native and Expo apps against proven standards. ## Core Features & Use Cases - List Performance Optimization: Enforces FlatList/FlashList best practices including keyExtractor, getItemLayout, memoized renderItem, and windowing configuration. - UI-Thread Animations: Guides Reanimated and Gesture Handler usage so animations and gestures run on the UI thread instead of blocking JavaScript. - Expo Workflow Coverage: Covers Expo Router file-based navigation, EAS Build/Update, config plugins, safe areas, haptics, and state management with Zustand, MMKV, and TanStack Query. - Use Case: When reviewing a React Native screen with a laggy product list, apply the FlatList checklist to add memoization, fixed item layouts, and batch rendering, then move animations to Reanimated worklets. ## Quick Start Review my React Native app's FlatList implementation and animations for performance issues using the react native patterns skill.

Frequently Asked Questions about react-native

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

FAQPage Schema
How do I improve FlatList performance in React Native?

FlatList performance improves by adding a stable keyExtractor, memoizing renderItem components with React.memo, providing getItemLayout for fixed-height items, and tuning initialNumToRender, maxToRenderPerBatch, and windowSize. For very large lists, FlashList from Shopify offers a recycling architecture as a drop-in replacement.

Should I use Reanimated or the Animated API for React Native animations?

Reanimated is preferred for complex or gesture-driven animations because it runs on the UI thread, while the built-in Animated API runs on the JS thread and can cause jank. Combine Reanimated with react-native-gesture-handler for smooth drag and swipe interactions.

Does Expo Router support deep linking and dynamic routes?

Expo Router handles deep linking automatically and supports dynamic routes through file-based conventions like [id].tsx in the app directory. Layout files such as _layout.tsx configure navigators, making it the preferred routing approach for new Expo projects.

What state management works best with React Native?

Zustand provides minimal-boilerplate global state that works well in React Native, while TanStack Query handles server state with caching and offline persistence via MMKV. MMKV itself is roughly 30x faster than AsyncStorage for local storage.

Why is Reanimated not working in my Expo app?

Reanimated commonly fails when it is not imported first in the app entry file; add 'react-native-reanimated' as the first import in your root file. Also clear the Metro bundler cache with npx expo start --clear after installation.