导航标题未隐藏在React Native中

时间:2019-04-25 06:11:22

标签: react-native header react-navigation

我们在我们的本机应用程序中显示了导航侧抽屉。 因此,对于特定的屏幕,我们必须禁用手势。 对于完整的应用程序,我们也隐藏了导航标题。

MyStack.navigationOptions = ({ navigation }) => {
  let drawerLockMode = 'unlocked';
  if ((navigation.state.index === 2) || (navigation.state.index === 3)) {
    drawerLockMode = 'locked-closed';
  }
  return {
    drawerLockMode,
    header: null,
    headerVisible: false,
  };
};


const MyStack = createStackNavigator({
  screen1: { screen: screen1, navigationOptions: { header: null, headerMode: 'none' } },
  screen2: { screen: screen2, navigationOptions: { header: null, headerMode: 'none'} },
      screen3: { screen: screen3, navigationOptions: { header: null, headerMode: 'none'} },

.
.
});

const MyAppStack = createAppContainer(createDrawerNavigator({
  MyStack: {
    screen: MyStack,
  },
  login: {
    screen: login,
  },
.
.
.
));

但是,所有屏幕上仍显示标题。

即使我们已经尝试过隐藏单个屏幕导航标题,但仍然没有隐藏。

class login extends Component<Props> {

  static navigationOptions = {
    header: null
  };

有什么建议吗?

3 个答案:

答案 0 :(得分:2)

要隐藏导航标题,请在headerMode之外添加navigationOptions。两者应处于同一级别。

export default createStackNavigator({
  ...
}, {
  headerMode: 'none',
  navigationOptions: {
    ...
   }
});

更新1

const MyAppStack = createAppContainer(createDrawerNavigator({
  MyStack: {
    screen: MyStack,
    navigationOptions: {
          header:false, // or drawerLabel: () => null  

    }
  },
  login: {
    screen: login,
  },
.
.
.
));

答案 1 :(得分:1)

您好Anil,请尝试以下代码

MyStack.navigationOptions = ({ navigation }) => {
  let drawerLockMode = 'unlocked';
  if ((navigation.state.index === 2) || (navigation.state.index === 3)) {
    drawerLockMode = 'locked-closed';
  }
  return {
    drawerLockMode,
    header: null,
    headerVisible: false,
  };
};


const MyStack = createStackNavigator({
  screen1: { screen: screen1 },
  screen2: { screen: screen2 },
  .
  }, {
       headerMode: 'none',
       navigationOptions: {
         headerVisible: false,
       });

答案 2 :(得分:0)

最后,在众多论坛上阅读并进行了一些实践之后,在React-Native Navigation中找到了限制特定屏幕手势/滑动的最佳解决方案。希望这对以后的人有帮助。

安装以下库

tuple