React native TabNavigator未显示

时间:2018-02-18 18:27:10

标签: reactjs react-native tabnavigator

我创建了一个基本的react-native应用程序,它包含一些用于呈现不同屏幕的按钮。用户登录后,我会渲染一个TabNavigator项目,但由于某种原因,没有显示标签,屏幕完全空白。我把我的代码与其他人比较,没有任何运气。有什么建议吗?

import React from 'react';
import { StyleSheet, Text, View, Image, Button, ImageBackground } from 'react-native';
import { TabNavigator } from 'react-navigation';

import {Electric} from './Sub-bills/Electric';
import {Web} from './Sub-bills/WebBill';
import {Water} from './Sub-bills/Water';
import {OtherBills} from './Sub-bills/OtherBills';
import {Personal} from './Sub-bills/Personal';

export const Tabs = TabNavigator(
    {
        Electric: {
            screen: Electric,
            navigationOptions: {
                tabBarLabel: 'Electric'
            }
        },
        Web: {
            screen: Web,
            navigationOptions: {
                tabBarLabel: 'Web'
            }
        },
        Water: {
            screen: Water,
            navigationOptions: {
                tabBarLabel: 'Water'
            }
        },
        OtherBills: {
            screen: OtherBills,
            navigationOptions: {
                tabBarLabel: 'Other'
            }
        },
        Personal: {
            screen: Personal,
            navigationOptions: {
                tabBarLabel: 'Personal'
            }
        }
    },
);

export class HouseholdBills extends React.Component{
    render(){
        return ( 
        <Tabs />
        );
    }
}

const styles = StyleSheet.create({
    container: {
      width: '100%',
      height: '100%',
      backgroundColor:'transparent',
      justifyContent: 'center',
      alignItems: 'center',
      position: 'absolute'
    },
  });

按一个按钮

呈现一个组件

2 个答案:

答案 0 :(得分:1)

在新版本的ReactNavigation中,将TabNavigator置于SafeAreaView下将导致它不显示,因为React导航已经在处理它,

如果您要使用的是TabNavigator顶部的SafeAreaView组件,则删除它可能会对您有所帮助。

答案 1 :(得分:0)

我使用以下内容作为Tab Nav的额外配置。你可能可以删除一些东西,但最重要的是至少定义顺序。

instrumentDocument