React Native development best practices for TypeScript, functional components, performance optimization, and styling guidelines.
Install
npx skills add https://github.com/mindrally/skills --skill react-native-cursor-rulesSKILL.md
React Native Cursor Rules
Expert guidelines for React Native development by Will Sims, focusing on type-safe TypeScript code, performance optimization, and maintainable component architecture.
Code Style and Structure
- Write concise, type-safe TypeScript code
- Use functional components and hooks instead of class components
- Ensure components are modular, reusable, and maintainable
- Organize files by feature, grouping related components, hooks, and styles
Naming Conventions
- Use camelCase for variables and functions (e.g.,
isFetchingData,handleUserInput) - Use PascalCase for components (e.g.,
UserProfile,ChatScreen) - Directory names should be lowercase and hyphenated (e.g.,
user-profile,chat-screen)
TypeScript Usage
- Use TypeScript for all components, favoring interfaces for props and state
- Enable strict typing in
tsconfig.json - Avoid
anytype; strive for precise types - Utilize
React.FCfor defining functional components with props
Performance Optimization
- Minimize
useEffect,useState, and heavy computations in render methods - Use
React.memo()for components with static props to prevent unnecessary re-renders - Optimize FlatLists with the following props:
removeClippedSubviewsmaxToRenderPerBatchwindowSize
- Use
getItemLayoutfor consistent-sized FlatList items - Avoid anonymous functions in
renderItemor event handlers
UI and Styling
- Use consistent styling via
StyleSheet.create()or Styled Components - Ensure responsive design for different screen sizes and orientations
- Optimize images using
react-native-fast-image
Best Practices
- Follow React Native's threading model for smooth performance
- Utilize Expo's EAS Build and Over-The-Air updates
- Use React Navigation for navigation and deep linking
Related skills
vercel-react-native-skillsvercel-labs224KReact Native and Expo best practices for building performant mobile apps. Use when building React Native components, optimizing list performance, implementing animations, or working with native modules. Triggers on tasks involving React Native, Expo, mobile performance, or native platform APIs.firebase-crashlyticsfirebase117KComprehensive guide for Firebase Crashlytics, including provisioning and SDK usage. Use this skill when the user needs help setting up Crashlytics, adding crash reporting, or using the Crashlytics SDK in their application.xcode-project-setupfirebase117KSafely modifies Xcode projects (.pbxproj) to add Swift Packages and link files. Use this skill whenever an iOS project needs dependencies installed (e.g. Firebase, Alamofire).animate-expoemilkowalski70KBuild animations in React Native and Expo, making the decisions in the order that determines whether they feel right — should it animate, which thread it runs on, which properties, spring or timing, how the gesture hands off, how it degrades. Writes the implementation with Reanimated, Gesture Handler, Expo Router and expo-haptics. Use when animating anything in an Expo app, adding gestures, sheets, screen transitions, press feedback or haptics, or fixing motion that stutters on device. For web a