无法从反应导航工作中获取标签栏

Unable to get tab bar from react-navigation working

我想使用 react-navigation 库在我的 react-native 应用程序中显示标签栏。我试过 example provided in the documentation 中的代码。但是,当我 运行 iOS 模拟器上的代码时,屏幕显示为空白,标签栏未加载。

到目前为止,这是我的代码,

TabNavigator.js

import React from 'react';
import { Text, View } from 'react-native';
import { createBottomTabNavigator, createAppContainer } from 'react-navigation';

class HomeScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <Text>Home!</Text>
      </View>
    );
  }
}

class SettingsScreen extends React.Component {
  render() {
    return (
      <View style={{ flex: 1, justifyContent: 'center', alignItems: 'center' }}>
        <Text>Settings!</Text>
      </View>
    );
  }
}

const TabNavigator = createBottomTabNavigator(
  {
    Home: HomeScreen,
    Settings: SettingsScreen,
  },
  {  
    initialRouteName: "Home"
  }  
);

export default createAppContainer(TabNavigator);

App.js

import React, { Component } from 'react';
import { View, Text, StyleSheet } from 'react-native';
import { createBottomTabNavigator } from 'react-navigation';
import TabNavigator from './components/TabNavigator';

const App = () => {
  return (
    <View>
      <TabNavigator />
    </View>
  );
};

export default App;

查看 App.js 代码,您忘记将 flex:1 放入视图,这是 react-navigation 在他的文档中提到的常见错误之一。

 const App = () => {
      return (
       <View style={ { flex:1} }>
         <TabNavigator />
       </View>
      );
    };

来源:https://reactnavigation.org/docs/en/common-mistakes.html#wrapping-appcontainer-in-a-view-without-flex