React Navigation error: "was not handled by any navigator" for one screen but not others

I’m working on a React Native app with Expo and React Navigation. I have a navigation error that makes no sense.

The Problem: When I try to navigate to TermsOfService screen from my SignUpScreen, I get:

ERROR The action 'NAVIGATE' with payload {"name":"TermsOfService"} was not handled by any navigator.

What’s Weird:

  • PrivacyPolicy screen works perfectly with identical setup

  • The component file exists and is correctly exported

  • The import is correct in Calo.js

  • The Stack.Screen is registered

  • Metro bundler shows no errors (bundles 1373 modules successfully)

My Setup:

Calo.js (navigation file):

javascript

import TermsOfServiceScreen from './screens/TermsOfServiceScreen';
import PrivacyPolicyScreen from './screens/PrivacyPolicyScreen';

// In Stack.Navigator:
<Stack.Screen name="TermsOfService" component={TermsOfServiceScreen} options={{ title: 'Terms of Service', headerShown: true }} />
<Stack.Screen name="PrivacyPolicy" component={PrivacyPolicyScreen} options={{ title: 'Privacy Policy', headerShown: true }} />

TermsOfServiceScreen.js:

javascript

import React from 'react';
import { View, Text } from 'react-native';

export default function TermsOfServiceScreen() {
  return (
    <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
      <Text>Terms of Service</Text>
    </View>
  );
}

SignUpScreen.js (navigation call):

javascript

<TouchableOpacity onPress={() => navigation.navigate('TermsOfService')}>
  <Text style={styles.link}>Terms of Service</Text>
</TouchableOpacity>

What I’ve Tried:

  • Cleared Metro cache with --reset-cache

  • Full rebuild with npx expo run:android

  • Uninstalled and reinstalled the app on device

  • Verified no typos in screen name (‘TermsOfService’ matches exactly)

  • Created minimal test component (shown above)

  • Checked that component uses export default

Environment:

  • React Native via Expo

  • React Navigation v6

  • Testing on Android physical device

Why would PrivacyPolicy work but TermsOfService fail with identical code structure?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.