始终显示反应导航标题

问题描述 投票:0回答:2

我试图创建多个屏幕并在它们之间切换,我认为反应导航会很棒。但是,尽管将header设置为null,我还是会出现标题自动出现的问题。我的App.js createStackNavigation为:

const AppNavigator = createStackNavigator({


register : {
  screen: RegisterScreen, 
},

login: {
  screen: LoginScreen,
},

home : {
  screen: HomeScreen
},

  },

  {
    navigationOptions: {
      header:null,
      headerMode: 'none',
    }
  }
  );

这里有三个屏幕。即注册,登录和回家。在注册屏幕内,我还有其他createStackNavigator用于registerFinal,登录和注册屏幕本身。如下所示。

const registerNavigation = createStackNavigator(
    {
        register: {
            screen: RegisterScreen,
            headerMode: 'none',
            navigationOptions: ({ navigation }) => ({
                header: null,
              }),
        }, 
        registerFinal: {
            screen: RegisterFinalScreen, 
            navigationOptions: ({ navigation }) => ({
                header: null,
                headerShown: false

              }),
        } ,
        login: {
            screen: LoginScreen, 
            navigationOptions: ({ navigation }) => ({
                header: null,
                headerShown: false
              }),
        },
    },

    {
        navigationOptions: ({ navigation }) => ({
            header: null,
            headerShown: false
          }),
    }
    );

尽管,我使用其他问题中指定的两种方法在navigationOptions中禁用了标头,但它们似乎都不适合我。我的屏幕上出现两个标题。我该如何解决?

react-native react-navigation react-navigation-stack
2个回答
1
投票

重新启动模拟器解决了问题。我的天啊。这件事让我改变了我的项目很多次。但是有时候,您只需要嘲笑它即可。


0
投票

同样在注册堆栈上使用headerMode而不是headerShown

基本上更改您的注册堆栈以反映以下内容:

const registerNavigation = createStackNavigator(
    {
        register: {
            screen: RegisterScreen,
            headerMode: 'none',
            navigationOptions: ({ navigation }) => ({
                header: null,
            }),
        },
        registerFinal: {
            screen: RegisterFinalScreen,
            navigationOptions: ({ navigation }) => ({
                header: null,
                headerMode: 'none'

            }),
        },
        login: {
            screen: LoginScreen,
            navigationOptions: ({ navigation }) => ({
                header: null,
                headerMode: 'none'
            }),
        },
    },

    {
        navigationOptions: ({ navigation }) => ({
            header: null,
            headerMode: 'none'
        }),
    }
);const registerNavigation = createStackNavigator(
    {
        register: {
            screen: RegisterScreen,
            headerMode: 'none',
            navigationOptions: ({ navigation }) => ({
                header: null,
            }),
        },
        registerFinal: {
            screen: RegisterFinalScreen,
            navigationOptions: ({ navigation }) => ({
                header: null,
                headerMode: 'none'

            }),
        },
        login: {
            screen: LoginScreen,
            navigationOptions: ({ navigation }) => ({
                header: null,
                headerMode: 'none'
            }),
        },
    },

    {
        navigationOptions: ({ navigation }) => ({
            header: null,
            headerMode: 'none'
        }),
    }
);

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.