嵌套导航器上的react-navigation句柄标头

时间:2018-08-25 21:18:38

标签: react-native react-navigation

我有一个具有以下结构的应用程序

  • 登录

  • 注册

  • 记录区域

    • 首页
    • 物品
      • 项目列表
      • 添加项目
    • 设置

我正在使用堆栈导航器在LoginSign up屏幕之间进行导航。用户登录后,我将其重定向到Logged area,这是一个包含HomeItemsSettings屏幕的标签导航器

Items是另一个堆栈导航器,其中包含Item List`` itself and the添加项目screen. The添加项目screen is accessible by a button inside“项目列表”屏幕。

我面临的问题是: 当我导航到Logged area时,标题显示为带有返回按钮的后退按钮,该按钮会指向LoginSign up屏幕(根据我登录前访问的最后一个屏幕)。 为了解决这个问题,我将标头设置为null,它似乎可以工作。 但是,当我导航到Items时,标题不会出现。我试图为其创建一个自定义组件,但是只出现一个黑条。

我希望能够通过标题从Item list屏幕导航回到Item add,但是我仍然找不到设置导航选项的方法。

任何建议如何处理?

这是我的路线代码:

createStackNavigator(
  {
    Login: {
      screen: Login,
      navigationOptions: {
        header: null,
      },
    },
    SignUp: {
      screen: SignUp,
    },
    LoggedArea: {
      navigationOptions: {
        header: null,
      },
      screen: createBottomTabNavigator(
        {
          Home: {
            navigationOptions: {
              title: 'Home',
            },
            screen: Home,
          },
          Items: {
            navigationOptions: {
              title: 'Items',
            },
            screen: createStackNavigator({
              ItemList: {
                screen: ItemList,
              },
              ItemAdd: {
                navigationOptions: {
                  headerRight: <View><Text>Something</Text></View>,
                },
                screen: ItemAdd,
              },
            }),
          },
          Settings: {
            navigationOptions: {
              title: 'Settings',
            },
            screen: Settings,
          },
        },
      ),
    },
  },
  {
    initialRouteName: 'Login',
    headerMode: 'screen',
  },
);

0 个答案:

没有答案