【问题标题】:Drawer wont open goes to initialRouteName when i call DrawerOpen当我调用 DrawerOpen 时,抽屉不会打开到 initialRouteName
【发布时间】:2019-09-17 20:03:44
【问题描述】:

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

我的 react native 和 react 导航版

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

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

当我调用navigation.navigate('DrawerOpen') 时,我的屏幕返回到初始路由名称。

我的 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>,

      })

我只想打开或切换抽屉。

【问题讨论】:

  • 我看不到两个导航器之间的任何嵌套。请发布逻辑代码​​以正确理解。还要提到你正在使用的 react-navigation 版本,

标签: reactjs react-native react-navigation


【解决方案1】:

我想你要找的是navigation.toggleDrawer();。

您可以阅读更多here。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-16
    • 2021-10-04
    • 2019-04-04
    • 1970-01-01
    相关资源
    最近更新 更多