React native 切换两个标题

React native 切换两个标题,react-native,react-navigation,React Native,React Navigation,我已经用BottomTabNavigator和createSwitchNavigator构建了一个应用程序 如果我在MainTabNavigator中声明我的屏幕,屏幕的顶部标题将按预期工作,但一旦我导入屏幕(例如我的主屏幕),我将得到一个双标题 我尝试添加: { headerMode: 'none', navigationOptions: { headerVisible: false, } } 到我的StackNavigator,但似乎没有效果 我试过看类似的问题,但没有

我已经用
BottomTabNavigator
createSwitchNavigator
构建了一个应用程序

如果我在
MainTabNavigator
中声明我的屏幕,屏幕的顶部标题将按预期工作,但一旦我导入屏幕(例如我的
主屏幕
),我将得到一个双标题

我尝试添加:

{
  headerMode: 'none',
  navigationOptions: {
    headerVisible: false,
  }
}
到我的
StackNavigator
,但似乎没有效果

我试过看类似的问题,但没有找到正确的方向

还有谁熟悉这个问题以及如何解决它

应用程序JS

import React from 'react';
import { View, Text } from 'react-native';
import { createStackNavigator,createBottomTabNavigator } from 'react-navigation';
import AppNavigator from './navigation/AppNavigator';

export default class App extends React.Component {
    render() {
        return <AppNavigator />;
    }
}
import React, { Component } from 'react';
import { 
    AppRegistry,
    ListView, 
    View, 
    Text, 
    StyleSheet, 
    Image, 
    Button, 
    TouchableOpacity, 
    TextInput, 
    ScrollView,
    Icon,
    FlatList,
} from 'react-native';
import { createStackNavigator, } from 'react-navigation';

export class HomeScreen extends Component {
    static navigationOptions = {
        // title: ' Alpha',
        header: null,
    };
   ....... App content
}

AppRegistry.registerComponent('App', () => App)

export default createStackNavigator({
  Home: {
    screen: HomeScreen,
  },
}, 

{
    initialRouteName: 'Home',
});
MainTabNavigator

import React from 'react';
import { createSwitchNavigator } from 'react-navigation';
import MainTabNavigator from './MainTabNavigator';

export default createSwitchNavigator(
  {
    Main: MainTabNavigator,
  },
);
import React from 'react';
import { Button, Text, View } from 'react-native';
import { Ionicons } from '@expo/vector-icons';
import { createStackNavigator, createBottomTabNavigator } from 'react-navigation';
import HomeScreen from '../screens/clubs/Home';
import DetailsScreen from '../screens/clubs/Details';

class SettingsScreen extends React.Component {
  static navigationOptions = {
    // title: ' Alpha',
    header: null,
  };
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <Text>Settings!</Text>
        <Button
          title="Go to Home"
          onPress={() => this.props.navigation.navigate('Home')}
        />
        <Button
          title="Go to Details"
          onPress={() => this.props.navigation.navigate('Details')}
        />
      </View>
    );
  }
}

const HomeStack = createStackNavigator({
  Home: { screen: HomeScreen },
  Details: { screen: DetailsScreen },
});

const SettingsStack = createStackNavigator({
  Settings: { screen: SettingsScreen },
  Details: { screen: DetailsScreen },
});

export default createBottomTabNavigator(
  {
    Home: { screen: HomeStack },
    Settings: { screen: SettingsStack },
  },
  {
    navigationOptions: ({ navigation }) => ({
      tabBarIcon: ({ focused, tintColor }) => {
        const { routeName } = navigation.state;
        let iconName;
        if (routeName === 'Home') {
          iconName = `ios-information-circle${focused ? '' : '-outline'}`;
        } else if (routeName === 'Settings') {
          iconName = `ios-information-circle${focused ? '' : '-outline'}`;
        }
        return <Ionicons name={iconName} size={25} color={tintColor} />;
      },
    }),
    tabBarOptions: {
      activeTintColor: '#DD016B',
      inactiveTintColor: 'white',
      tabStyle: {
          width: 100,
          backgroundColor: 'black',
        },
      labelStyle:{
            color: 'white',
          },
    }
  },
);

MainTabNavigator
文件中,尝试以下操作:

const HomeStack = createStackNavigator({
  Home: { screen: HomeScreen, navigationOptions: { header: null } },
  Details: { screen: DetailsScreen, navigationOptions: { header: null } },
});

谢谢,这很有效,怪透了,因为我以前试过!