react-native

import { View, Text, ScrollView, FlatList, Pressable, StyleSheet } from 'react-native';

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "react-native" with this command: npx skills add claude-dev-suite/claude-dev-suite/claude-dev-suite-claude-dev-suite-react-native

React Native

Core Components

import { View, Text, ScrollView, FlatList, Pressable, StyleSheet } from 'react-native';

function ProductList({ products }: { products: Product[] }) { return ( <FlatList data={products} keyExtractor={(item) => item.id} renderItem={({ item }) => ( <Pressable onPress={() => navigate('Detail', { id: item.id })} style={styles.card}> <Text style={styles.title}>{item.name}</Text> <Text style={styles.price}>${item.price}</Text> </Pressable> )} ItemSeparatorComponent={() => <View style={styles.separator} />} /> ); }

const styles = StyleSheet.create({ card: { padding: 16, backgroundColor: '#fff' }, title: { fontSize: 16, fontWeight: '600' }, price: { fontSize: 14, color: '#666', marginTop: 4 }, separator: { height: 1, backgroundColor: '#eee' }, });

Navigation (React Navigation)

import { NavigationContainer } from '@react-navigation/native'; import { createNativeStackNavigator } from '@react-navigation/native-stack'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';

type RootStackParamList = { Home: undefined; Detail: { id: string }; };

const Stack = createNativeStackNavigator<RootStackParamList>(); const Tab = createBottomTabNavigator();

function App() { return ( <NavigationContainer> <Stack.Navigator> <Stack.Screen name="Home" component={HomeScreen} /> <Stack.Screen name="Detail" component={DetailScreen} /> </Stack.Navigator> </NavigationContainer> ); }

// Type-safe navigation import { NativeStackScreenProps } from '@react-navigation/native-stack'; type DetailProps = NativeStackScreenProps<RootStackParamList, 'Detail'>;

function DetailScreen({ route, navigation }: DetailProps) { const { id } = route.params; return <Text>{id}</Text>; }

Platform-Specific Code

import { Platform } from 'react-native';

const styles = StyleSheet.create({ shadow: Platform.select({ ios: { shadowColor: '#000', shadowOffset: { width: 0, height: 2 }, shadowOpacity: 0.1 }, android: { elevation: 3 }, }), });

// File-based: Component.ios.tsx / Component.android.tsx (auto-resolved)

Networking

import { useQuery, useMutation } from '@tanstack/react-query';

function useProducts() { return useQuery({ queryKey: ['products'], queryFn: async () => { const res = await fetch(${API_URL}/products); if (!res.ok) throw new Error('Failed to fetch'); return res.json() as Promise<Product[]>; }, }); }

Secure Storage

import EncryptedStorage from 'react-native-encrypted-storage';

await EncryptedStorage.setItem('auth_token', token); const token = await EncryptedStorage.getItem('auth_token'); await EncryptedStorage.removeItem('auth_token');

Performance

Technique Impact

FlatList over ScrollView for lists High

React.memo on list items Medium

useCallback for event handlers in lists Medium

Hermes engine (default in RN 0.70+) High

Avoid inline styles in render Low-Medium

InteractionManager.runAfterInteractions

Medium

Anti-Patterns

Anti-Pattern Fix

ScrollView for long lists Use FlatList or FlashList

Inline functions in FlatList renderItem Extract component, use React.memo

Storing tokens in AsyncStorage Use react-native-encrypted-storage

No error boundaries Wrap screens in error boundaries

Ignoring keyboard on forms Use KeyboardAvoidingView

Production Checklist

  • Hermes engine enabled

  • ProGuard/R8 for Android release builds

  • App signing configured (Android keystore, iOS certificates)

  • Deep linking configured

  • Error tracking (Sentry, Bugsnag)

  • OTA updates (CodePush or Expo Updates)

  • Performance monitoring (Flipper, React DevTools)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Coding

React Native Update (Pushy) Integration

Unified integration skill for React Native Update / Pushy(统一入口)across OpenClaw and Claude Code workflows. Use for 安装配置, appKey/update.json 接线, iOS/Android 原生...

Registry SourceRecently Updated
0452
Profile unavailable
Coding

react-native

No summary provided by upstream source.

Repository SourceNeeds Review
Coding

cron-scheduling

No summary provided by upstream source.

Repository SourceNeeds Review