boxLockMode: «заблокировано-закрыто» не работает напрямую с createStackNavigator - PullRequest
0 голосов
/ 17 сентября 2018

Когда я указываю drawerLockMode прямо с createStackNavigator, это не работает.

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

Но когда я использую переменную drawerStack для определения navigationOptions, она работает.

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

Я делаю какую-либо ошибку, когда непосредственно использую ее внутри createStackNavigator?

Обновление

Как и предположил @bennygenel, нам нужно использовать параметр hookLockMode в hookNavigator вместо stackNavigator. Вот что я сделал.

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

Но это также не работает таким образом. Единственный способ его работы - использование переменной const, созданной с использованием createStackNavigator или createDrawerNavigator

1 Ответ

0 голосов
/ 14 июля 2019

Попробуйте следующий код, он работает для меня:

   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,
     };
   };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...