当我调用DrawerOpen时,抽屉不会打开到initialRouteName

时间:2019-04-29 08:06:42

标签: reactjs react-native react-navigation

我有两个Nagigator 1:StackNavigator和2:DrawerNavigator

我的本​​机反应和反应导航版本

  • “ react-native”:“ 0.55.4”,
  • “反应导航”:“ ^ 1.0.0-beta.11”,

我的根导航器是StackNavigator,我从中调用DrawerNavigator。

当我呼叫navigation.navigate('DrawerOpen')时,我的屏幕返回到initialRouteName。

我的StackNavigator

import DrawerNavigatorScreen from "./src/DrawerNavigator";

const myApp = StackNavigator({
  Home: {
    screen: App,
    navigationOptions: {
      header: null
    }
  },
HomeChildData: {
        screen: DrawerNavigatorScreen,
        navigationOptions: {
          header:null,
        }
},
otp: {
    screen: otp,
    navigationOptions: ({ navigation }) => ({
      header: null
      })
  }
});

我的DrawerNavigator(/ src / DrawerNavigator)

const DrawerNavigatorScreen = DrawerNavigator(
  {
social: {
          screen: socialstack,
          navigationOptions: {
            header: null
          }
        },
profile: {
    screen: profilescreen,
    navigationOptions: ({ navigation }) => ({
      header: null
      })
  },
{
    initialRouteName: "social",
    contentOptions: {
      labelStyle: {
        alignSelf: "center",
        fontFamily: "Avenir-Light",
        fontSize: 15,
        color: "#3B3B3B"
      },
      activeTintColor: "#3B3B3B",
      activeBackgroundColor: "#ffc34d", //rgba(255,181,14,0.1)
      // inactiveTintColor: 'black',
      inactiveBackgroundColor: "#fff"
    },
});

export default DrawerNavigatorScreen 

发生问题的地方

 static navigationOptions = ({ navigation }) => ({
        header:null,
        headerTitleStyle: {
          alignSelf: 'center',
          marginLeft: margintLeftValue,
              color: '#2F2E2F',
              fontFamily: 'Avenir-Medium'
        },
        headerLeft: <TouchableOpacity onPress={() => navigation.navigate('DrawerOpen')}>
          <Image
            source={require('./../images/menu.png')}
            style={styles.drawerIcon} />
        </TouchableOpacity>,

      })

我只想打开或切换抽屉。

1 个答案:

答案 0 :(得分:0)

我认为您正在寻找的是navigation.toggleDrawer();

您可以阅读更多here