android - 抽屉锁模式 : 'locked-closed' not working directly with createStackNavigator

标签 android ios react-native react-navigation

当我使用 createStackNavigator 直接指定 drawerLockMode 时,它不起作用。

const drawerStack = createStackNavigator({
  HomeScreen: { screen: HomeScreen },
}, {
  headerMode: 'screen',
  navigationOptions: {
    drawerLockMode:'locked-closed'
  }
})

但是当我使用 drawerStack 变量来定义 navigationOptions 时,它可以正常工作。

drawerStack.navigationOptions = ({ navigation }) => {
    drawerLockMode = 'locked-closed';
    return {
       drawerLockMode,
    };
};

我直接在 createStackNavigator 中使用它是否有任何错误?

更新

正如@bennygenel 所建议的,我们需要在 drawerNavigator 中使用 drawerLockMode 而不是 stackNavigator。这是我所做的。

const drawerNavigator = createDrawerNavigator({
    drawerStack: drawerStack
}, {
    contentComponent: DrawerComponent,
    navigationOpions:{
       drawerLockMode:'locked-closed'
    }
})

但它也不是这样工作的。它工作的唯一方法是使用使用 createStackNavigatorcreateDrawerNavigator

创建的 const 变量

最佳答案

试试下面的代码,它对我有用:

   const UserHome_StackNavigator = StackNavigator({
      userHm: {
        screen: UserHome,
        navigationOptions: ({ navigation }) => ({
          title: 'User screen title',
          headerStyle: {
            backgroundColor: 'white',
          },
          headerTintColor: 'black'
        }),
     },
    });

    UserHome_StackNavigator.navigationOptions = ({ navigation }) => {
      let drawerLockMode = 'locked-closed';
      //logic here to change conditionaly, if needed
      return {
        drawerLockMode,
     };
   };

关于android - 抽屉锁模式 : 'locked-closed' not working directly with createStackNavigator,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52361394/

相关文章:

java - Android Room 分页 - 如何读取两个表?

ios - Xcode 4.6中的iOS7的statusBar

react-native - React原生边距: 'auto' working on web but not on device

java - 在android项目中使用神经网络

android - 无法连接到 React Native for Android 中的开发服务器

ios - 如何在界面生成器上将 UITextView 作为 subview 添加到 UIImageView 中?

react-native - 动态更改背景图像

react-native - 如何在 react 导航(3.x)中为全屏模式提供透明背景?

android - 未设置 "ArrayAdapter"

ios - 检测应用是否是全新安装或更新的