最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Back Button not showing with Stack.Navigator - Stack Overflow

programmeradmin0浏览0评论

I'm trying to implement a simple navigation but for some reason back button it's not showing up.

My Main Component

    <NavigationContainer>
      <Stack.Navigator>
        {userToken ? (
          <Stack.Screen name={routesName.App} ponent={TabNavigator} />
        ) : (
          <Stack.Screen name={routesName.Auth} ponent={AuthStack} />
        )}
      </Stack.Navigator>
    </NavigationContainer>

Tab Navigation

const TabNavigator = () => {
  return (
    <Tab.Navigator>
      <Tab.Screen name={routesName.Home} ponent={HomeStack} />
      <Tab.Screen name={routesName.Settings} ponent={SettingsStack} />
    </Tab.Navigator>
  );
};
const HomeStack = () => {
  return (
    <Stack.Navigator initialRouteName={routesName.Home}>
      <Stack.Screen name={routesName.Home} ponent={HomeScreen} />
      <Stack.Screen name={routesName.Details} ponent={DetailsScreen} />
    </Stack.Navigator>
  );
};
const SettingsStack = () => {
  return (
    <Stack.Navigator>
      <Stack.Screen name={routesName.Settings} ponent={SettingsScreen} />
      <Stack.Screen name={routesName.Profile} ponent={ProfileScreen} />
    </Stack.Navigator>
  );
};

No matter what screen i go, app headers always shows "App" as title.

I'm trying to implement a simple navigation but for some reason back button it's not showing up.

My Main Component

    <NavigationContainer>
      <Stack.Navigator>
        {userToken ? (
          <Stack.Screen name={routesName.App} ponent={TabNavigator} />
        ) : (
          <Stack.Screen name={routesName.Auth} ponent={AuthStack} />
        )}
      </Stack.Navigator>
    </NavigationContainer>

Tab Navigation

const TabNavigator = () => {
  return (
    <Tab.Navigator>
      <Tab.Screen name={routesName.Home} ponent={HomeStack} />
      <Tab.Screen name={routesName.Settings} ponent={SettingsStack} />
    </Tab.Navigator>
  );
};
const HomeStack = () => {
  return (
    <Stack.Navigator initialRouteName={routesName.Home}>
      <Stack.Screen name={routesName.Home} ponent={HomeScreen} />
      <Stack.Screen name={routesName.Details} ponent={DetailsScreen} />
    </Stack.Navigator>
  );
};
const SettingsStack = () => {
  return (
    <Stack.Navigator>
      <Stack.Screen name={routesName.Settings} ponent={SettingsScreen} />
      <Stack.Screen name={routesName.Profile} ponent={ProfileScreen} />
    </Stack.Navigator>
  );
};

No matter what screen i go, app headers always shows "App" as title.

Share Improve this question asked Jul 15, 2020 at 1:35 Max FrataneMax Fratane 8761 gold badge11 silver badges24 bronze badges
Add a ment  | 

1 Answer 1

Reset to default 5

I believe it's because your root stack is always on App regardless of your nested ones. try this in your root stack:

<Stack.Navigator screenOptions={{ headerShown: false }}>

More info here: https://reactnavigation/docs/stack-navigator/#headershown

发布评论

评论列表(0)

  1. 暂无评论