React Native App Builds and Performance Fixes

Build and debug React Native and Expo apps with navigation, native-module setup, and targeted list performance fixes.

Development / Frontendreact-nativeexpo
by AgentVoltv1.0.0
Free to sign up · every skill included with AgentVolt Pro

Before & after

Same prompt, same agent — the only difference is the skill.

Prompt“Set up tab and stack navigation in my React Native app”
Beforegeneric AI agent
React Native has excellent navigation libraries like React Navigation that handle complex navigation patterns. You can use bottom tab navigators and stack navigators together. The structure involves nesting navigators strategically - typically a tab navigator at the top level with stack navigators inside each tab. State management is important for passing data between screens correctly. You'll need to install the dependencies and configure the navigators properly. Would you like a basic setup example to get started, or do you need help with a specific navigation pattern or use case? I can provide different approaches depending on your needs.
Afterwith React Native App Builds and Performance Fixes
import { NavigationContainer } from '@react-navigation/native';
import { createNativeStackNavigator } from '@react-navigation/native-stack';
import { createBottomTabNavigator } from '@react-navigation/bottom-tabs';
import { Ionicons } from '@expo/vector-icons';

const Stack = createNativeStackNavigator();
const Tab = createBottomTabNavigator();

const HomeStack = () => (
  <Stack.Navigator screenOptions={{ headerStyle: { backgroundColor: '#007AFF' }, headerTintColor: '#fff' }}>
    <Stack.Screen name="HomeFeed" component={HomeFeed} options={{ title: 'Home' }} />
    <Stack.Screen name="PostDetail" component={PostDetail} options={{ title: 'Post' }} />
  </Stack.Navigator>
);

const ProfileStack = () => (
  <Stack.Navigator>
    <Stack.Screen name="ProfileView" component={ProfileView} options={{ title: 'Profile' }} />
    <Stack.Screen name="Settings" component={Settings} options={{ title: 'Settings' }} />
  </Stack.Navigator>
);

const Navigation = () => (
  <NavigationContainer>
    <Tab.Navigator
      screenOptions={({ route }) => ({
        tabBarIcon: ({ focused, color }) => {
          const iconName = route.name === 'Home' ? 'home' : 'person';
          return <Ionicons name={focused ? iconName : iconName + '-outline'} color={color} />;
        },
        headerShown: false
      })}
    >
      <Tab.Screen name="Home" component={HomeStack} />
      <Tab.Screen name="Profile" component={ProfileStack} />
    </Tab.Navigator>
  </NavigationContainer>
);

KEY PATTERNS: Nesting Stack navigators inside Tab prevents header duplication and manages independent navigation state for each tab. screenOptions standardize styling globally across screens. Ionicons dependency is pre-installed via expo SDK. Each tab screen maintains its own navigation stack independently. Deep linking configuration required for production apps. useFocusEffect hook helps detect when users switch between tabs for analytics or state reset. This pattern scales well to 4-5 tabs maximum.

About this skill

Your React Native screen looks right, but scrolling stutters, Android hides the input, or a native package works nowhere outside the example. This skill traces those failures to the navigation tree, installed native runtime, rendering dependencies, or platform layout behavior, then produces a focused implementation and verification plan.

What it does

  • Maps tabs, stacks, authentication routes, and modals before wiring navigation, while preserving your existing router.
  • Separates Expo Go, development builds, and projects with maintained native directories so native-module instructions match the actual runtime.
  • Diagnoses list stalls using render evidence, stable identities, image costs, and accurate item measurements.
  • Fixes keyboard and safe-area interactions without stacking competing inset adjustments.
  • Distinguishes JavaScript rendering problems from native layout, image decoding, and animation bottlenecks.
  • Produces TypeScript patches with platform-specific checks and explicit limits on what was verified.

What you get

A scoped implementation or debugging patch, the evidence behind the change, and concrete iOS and Android acceptance checks. Larger requests also get a navigation map and native configuration requirements.

Best for

Developers building or maintaining React Native and Expo apps, especially teams dealing with slow lists, nested navigation, custom native dependencies, and platform-specific input bugs.

SKILL.md preview

SKILL.md
---
name: react-native-app-builds-and-performance-fixes
description: Builds and debugs React Native and Expo apps by mapping navigation ownership, checking native-runtime compatibility, and tracing rendering and platform-layout failures before changing code. Use when the user says "build this React Native screen", "set up tabs and stacks", "my FlatList keeps stuttering", "this native module is missing", "it works in Expo Go but not my build", "the keyboard covers my input", or "review this Expo app".
---

# React Native App Builds and Performance Fixes

… (sign up to view the full skill)
Sign up to view, copy, and install the full skill

More development skills

View all Development skills →