用Stack反应原生导航抽屉导航器

时间:2018-06-11 09:45:27

标签: react-native react-native-android react-navigation

我正在尝试让drawernavigatorstacknavigator一起使用,但我无法正确嵌套。即我的问题是,仅使用this.props.navigation.goBack()时我无法使用createDrawerNavigator。它根本行不通......但我可以看到createStackNavigator按预期工作。我可以使用goback()和我寻找的poptotop。所以现在我试着嵌套这两个,但还没有成功。还找到一些例子是如此困难......任何人都可以指出我正确的方向如何嵌套这两个或如何只用goBack()工作createDrawerNavigator

我设法将它嵌套了但是我遇到了一些问题。

~~const DraverNav = createDrawerNavigator(
  {
    Second: { screen: Second },
  }
);


const Navigator = createStackNavigator(
  {
    Login: { screen: LoginScreen },
    Home: { screen: DraverNav },
  });~~

我想显示第一个登录屏幕,然后转到Second屏幕作为该应用的主屏幕。但我的主屏幕总是登录screnn,当我navigation.goBack()时,我最终回到Login而不是Second。此外,当移动到drawernavigation时,我无法为标题栏设置tittle。

UPDATE:

这是我当前的实现,几乎按预期工作。混乱的一件事是我打开后不能关闭抽屉,我从抽屉导航器中移动到另一个屏幕......

const StackNav = createStackNavigator(
  {
    Home: { screen: HomeScreen },
    ScanCode: { screen: ScanCodeModal },
    ScanResult: { screen: ScanResultScreen },
  }, {
    headerMode: 'none'
  });

const Navigator = createDrawerNavigator(
  {
    SignInScreen: { screen: SignInScreen },
    Main: {
      screen: StackNav, navigationOptions: {
        drawerLabel: () => null
      }
    },
    Home: { screen: HomeScreen },
    ScanCode: { screen: ScanCodeModal }
  }, {
    initialRouteName: 'SignInScreen'
  });

0 个答案:

没有答案