Full-stack-skills react-native
Provides comprehensive guidance for React Native development including components, navigation, native modules, platform-specific code, and mobile app development. Use when the user asks about React Native, needs to create mobile applications, implement React Native components, or work with React Native features.
install
source · Clone the upstream repo
git clone https://github.com/partme-ai/full-stack-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/partme-ai/full-stack-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/react-skills/react-native" ~/.claude/skills/partme-ai-full-stack-skills-react-native && rm -rf "$T"
manifest:
skills/react-skills/react-native/SKILL.mdsource content
When to use this skill
Use this skill whenever the user wants to:
- Build cross-platform mobile applications with React Native
- Create and style React Native components (View, Text, FlatList, ScrollView)
- Implement navigation with React Navigation
- Use platform-specific code for Android and iOS
- Integrate native modules and bridge native APIs
- Configure Metro bundler, debug tools, and build settings
- Optimize list performance and memory usage
How to use this skill
Workflow
- Identify the request area (component creation, navigation, native modules, styling, etc.)
- Apply React Native conventions for layout, styling, and platform handling
- Generate TypeScript/JSX code using React Native core components
- Verify the solution works on both Android and iOS
1. Core Component Example
import React from 'react'; import { View, Text, FlatList, StyleSheet } from 'react-native'; interface User { id: string; name: string; } export function UserList({ users }: { users: User[] }) { return ( <FlatList data={users} keyExtractor={item => item.id} renderItem={({ item }) => ( <View style={styles.item}> <Text style={styles.name}>{item.name}</Text> </View> )} /> ); } const styles = StyleSheet.create({ item: { padding: 16, borderBottomWidth: 1, borderBottomColor: '#eee' }, name: { fontSize: 16, fontWeight: '600' }, });
2. Navigation Setup
import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; const Stack = createNativeStackNavigator(); export default function App() { return ( <NavigationContainer> <Stack.Navigator initialRouteName="Home"> <Stack.Screen name="Home" component={HomeScreen} /> <Stack.Screen name="Details" component={DetailsScreen} /> </Stack.Navigator> </NavigationContainer> ); }
3. Platform-Specific Code
import { Platform, StyleSheet } from 'react-native'; const styles = StyleSheet.create({ container: { paddingTop: Platform.OS === 'ios' ? 44 : 0, ...Platform.select({ ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 2 } }, android: { elevation: 4 }, }), }, });
Best Practices
- Use
(notFlatList
) for long lists; provideScrollView
andkeyExtractor
for performancegetItemLayout - Avoid heavy computation on the main JavaScript thread; offload to native modules if needed
- Match native dependency versions with the React Native version to prevent build failures
- Test on both platforms early and often; use
for platform-specific stylesPlatform.select - Use
for optimized style objectsStyleSheet.create
Resources
- Official documentation: https://reactnative.dev/docs/getting-started
- React Navigation: https://reactnavigation.org/
- Expo: https://docs.expo.dev/
Keywords
react native, React Native, cross-platform, mobile, FlatList, React Navigation, Metro, native modules, iOS, Android, StyleSheet