1---2name: react-native-core3description: React Native core components, layout, styling, animations, lists, platform APIs, and best practices. Use when building iOS/Android UIs with native components.4---56# React Native Core78> Based on React Native docs as of 2026.9>10> **See also:**11> - Ecosystem libraries (navigation, state, TanStack Query, Reanimated) → `react-native-ecosystem`12> - Expo SDK and EAS tooling → `react-native-expo`13> - Deep performance work (FPS, bundle, TTI, memory, native) → `react-native-performance`14> - React Native Testing Library deep dive → `react-native-testing`1516React Native lets you build mobile apps using only JavaScript. It uses the same design as React, letting you compose a rich mobile UI from declarative components. With React Native, you build a real mobile app that's indistinguishable from an app built using Objective-C or Java.1718## Core References1920| Topic | Description | Reference |21|-------|-------------|-----------|22| Core Components | View, Text, Image, TextInput, ScrollView — fundamental UI building blocks | [core-components](references/core-components.md) |23| Layout with Flexbox | Flexbox layout system for positioning and aligning components | [core-layout](references/core-layout.md) |24| Styling | StyleSheet API for creating and organizing component styles | [core-styling](references/core-styling.md) |2526## Features2728### Animations2930| Topic | Description | Reference |31|-------|-------------|-----------|32| Animated API | Built-in Animated API — timing, spring, composition (use Reanimated v3 for complex cases) | [features-animations](references/features-animations.md) |33| Easing Functions | Easing functions for custom animation curves and natural motion | [features-easing](references/features-easing.md) |3435### User Interactions3637| Topic | Description | Reference |38|-------|-------------|-----------|39| Touch Handling | Pressable, Touchable components, and gesture responders for handling user input | [features-touch-handling](references/features-touch-handling.md) |40| Keyboard | Keyboard API for handling keyboard events, dismissing keyboard, and KeyboardAvoidingView | [features-keyboard](references/features-keyboard.md) |4142### UI Components4344| Topic | Description | Reference |45|-------|-------------|-----------|46| Additional Components | Modal, Switch, ActivityIndicator, RefreshControl for dialogs, toggles, loading states | [components-ui](references/components-ui.md) |4748### Data Display4950| Topic | Description | Reference |51|-------|-------------|-----------|52| Lists | FlatList and SectionList for efficiently rendering large, scrollable lists | [features-lists](references/features-lists.md) |5354### Styling and Theming5556| Topic | Description | Reference |57|-------|-------------|-----------|58| Colors and Theming | Colors, PlatformColor, Appearance API for theming and dark mode support | [features-colors-theming](references/features-colors-theming.md) |5960### Platform Integration6162| Topic | Description | Reference |63|-------|-------------|-----------|64| Platform APIs | Linking, Dimensions, Platform detection, AppState, and native integrations | [features-platform-apis](references/features-platform-apis.md) |65| Network | Fetch API for HTTP requests (production apps: Axios + TanStack Query) | [features-network](references/features-network.md) |66| StatusBar | Control status bar appearance, style, and visibility | [features-statusbar](references/features-statusbar.md) |67| Share & Vibration | Native share dialog and device vibration for haptic feedback | [features-share-vibration](references/features-share-vibration.md) |68| Timers | setTimeout, setInterval, requestAnimationFrame for scheduling and delays | [features-timers](references/features-timers.md) |69| Platform-Specific APIs | Android (ToastAndroid, DrawerLayoutAndroid) and iOS (ActionSheetIOS) native patterns | [features-platform-specific](references/features-platform-specific.md) |7071### Accessibility7273| Topic | Description | Reference |74|-------|-------------|-----------|75| Accessibility | Screen reader support, accessibility labels, roles, and states | [features-accessibility](references/features-accessibility.md) |7677### Advanced Styling7879| Topic | Description | Reference |80|-------|-------------|-----------|81| Transforms | 2D and 3D transforms for rotation, scale, translation, and skew | [features-transforms](references/features-transforms.md) |8283### Architecture8485| Topic | Description | Reference |86|-------|-------------|-----------|87| New Architecture | Fabric, JSI, TurboModules — default since RN 0.76, what it means for your code | [features-new-architecture](references/features-new-architecture.md) |8889### Best Practices9091| Topic | Description | Reference |92|-------|-------------|-----------|93| Debugging | React Native DevTools, LogBox, Dev Menu, and debugging techniques | [best-practices-debugging](references/best-practices-debugging.md) |9495## Key Recommendations9697- **Use `StyleSheet.create()`** for all styles instead of inline objects98- **Use FlatList** instead of ScrollView for long lists99- **Use Pressable** for new touch interactions (preferred over deprecated Touchable components)100- **Animations**: the built-in `Animated` API suffices for simple cases; use Reanimated v3 for complex or gesture-driven animations101- **Permissions**: use `react-native-permissions` for cross-platform permission handling instead of the low-level `PermissionsAndroid`102- **Handle platform differences** with `Platform.select()` and `Platform.OS`103- **Test on real devices** — simulator behavior may differ from actual devices104- **Use TypeScript** for better type safety and developer experience105- **New Architecture is default** in RN 0.76+ — Fabric, JSI, and TurboModules are active; check library compatibility