Skip to main content

react-native

React Native mobile framework

Source facts

Repository
ffsshhttiikk/opencode-agents-skills
Last source activity
February 28, 2026 at 22:54
Detected SKILL.md language
English
Stars
3
Forks
2

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
react-native
description
React Native mobile framework
license
MIT
compatibility
opencode
metadata
{"audience":"mobile-developers","category":"mobile-development"}
## What I do - Build cross-platform mobile apps with React Native - Develop using JavaScript/TypeScript with React patterns - Implement native modules and bridges - Manage React Native state and navigation - Optimize app performance - Work with Expo for rapid development - Handle platform-specific code ## When to use me Use me when: - Building mobile apps with React expertise - Need to share code between web and mobile - Rapid prototyping required - Medium-complexity apps - Teams familiar with JavaScript/React - Want native performance with JS developer experience ## Key Concepts ### React Native Architecture React Native uses a bridge to communicate between JavaScript and native components: ``` ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │ JavaScript │ ──── │ Bridge │ ──── │ Native (iOS) │ │ Thread │ │ (Async Msg) │ │ Thread │ └─────────────────┘ └─────────────────┘ └─────────────────┘ ``` ### React Native Components ```tsx import React, { useState } from 'react'; import { View, Text, Button, FlatList, StyleSheet } from 'react-native'; const ItemList: React.FC = () => { const [items, setItems] = useState<string[]>([]); const addItem = () => { setItems([...items, `Item ${items.length + 1}`]); }; return ( <View style={styles.container}> <FlatList data={items} keyExtractor={(item, index) => index.toString()} renderItem={({ item }) => ( <Text style={styles.item}>{item}</Text> )} /> <Button title="Add Item" onPress={addItem} /> </View> ); }; const styles = StyleSheet.create({ container: { flex: 1, padding: 16 }, item: { padding: 12, fontSize: 16 } }); ``` ### State Management - **useState/useReducer**: Local state - **Context**: Shared state - **Redux/Zustand**: Global state - **React Query**: Server state ### Navigation - **React Navigation**: Most popular, customizable - **React Native Navigation**: Native performance ### Expo Managed workflow with pre-built APIs: - Camera, Location, Notifications - Push notifications - Asset loading - Over-the-air updates
View on GitHub