3
const App = () => (
  <SafeAreaProvider>
    <NavigationContainer theme={MyTheme} linking={linking}>
      <Stack.Navigator
        initialRouteName="Root"
        screenOptions={{ gestureEnabled: false }}
      >
        <Stack.Screen
          name="NotRoot"
          component={NotRoot}
          options={verticalConfig}
        />
      </Stack.Navigator>
    </NavigationContainer>
  </SafeAreaProvider>
);

In this code snippet Root is a non existent Stack.Screen name that's not present in any file within the project's source. So, I was wondering if 'Root' is sort of like a default value?

efffcoder
  • 35
  • 4

1 Answers1

1

Root is not a default value. When you specify an initialRouteName that doesn't exist, it does the same as when you don't specify the prop: it goes to the first Screen (route).

You can see it in the code (GitHub), here is the relevant part:

const initialRouteName =
  options.initialRouteName !== undefined &&
  routeNames.includes(options.initialRouteName)
    ? options.initialRouteName // if initialRouteName is defined and exists
    : routeNames[0]; // otherwise, go to the first one
Rafael Tavares
  • 5,678
  • 4
  • 32
  • 48