简体   繁体   English

导航栏和标签栏未同时显示

[英]Navigation Bar and Tab Bar not showing up together

The following code will show the navigation bar and it's navigation works as it should...But the tab bar does not show up at all. 以下代码将显示导航栏,并且其导航将按预期方式工作...但是选项卡栏根本不会显示。 Now, if I remove the code that has to do with the navBar, the tab bar is present. 现在,如果我删除了与navBar有关的代码,则会显示选项卡栏。

I am a bit new to React-Native, so I bet I am missing something, but I feel I did everything correctly as the tutorial I was following said to do. 我对React-Native有点陌生,所以我敢打赌我错过了一些东西,但是我觉得我按照我说的教程做的一切都做得正确。 在此处输入图片说明

import React from 'react';
import {
    AppRegistry,
    Text,
    View,
    Button,
    WebView
} from 'react-native';
import {StackNavigator, TabNavigator} from 'react-navigation';

class HomeScreen extends React.Component {
    static navigationOptions = {
        title: 'Welcome'
    };
    render() {
        const {navigate} = this.props.navigation;
        return(
            <View>
                <Text>Hello!</Text>
                <Button
                    onPress={() => navigate('Chat')}
                    title="Navigate to new screen"
                />
            </View>
        );
    }
}

class NewScreen extends React.Component {
    static navigationOptions = {
        title: 'New screen'
    };
    render() {
        return (
            <View>
                <Text>Welcome to your new screen</Text>
            </View>
        );
    }
}

class WebScreen extends React.Component {
    render() {
        return <Text>Recents</Text>
    }
}

class OtherTabScreen extends React.Component {
    render() {
        return <Text>Alternate screen</Text>
    }
}

const TabBarNavigator = TabNavigator({
    Web: {screen: WebScreen},
    Other: {screen: OtherTabScreen}
});

const GivingTrax = StackNavigator({
    Home: {screen: HomeScreen},
    Chat: {screen: NewScreen}
});

AppRegistry.registerComponent('GivingTrax', () => GivingTrax);

You need to combine Navigators if you like to have TabNavigator inside a StackNavigator or vise versa. 如果您想将TabNavigator放在StackNavigator中,或者相反,则需要组合Navigator。 Check docs for Nesting Navigators for more info. 检查文档嵌套导航仪的更多信息。

Example: 例:

const TabBarNavigator = TabNavigator({
    Home: {screen: HomeScreen},
    Web: {screen: WebScreen},
    Other: {screen: OtherTabScreen}
});

const GivingTrax = StackNavigator({
    Tabbed: {screen: TabBarNavigator},
    Chat: {screen: NewScreen}
});

OR 要么

const TabBarNavigator = TabNavigator({
    Home: {screen: GivingTrax},
    Web: {screen: WebScreen},
    Other: {screen: OtherTabScreen}
});

const GivingTrax = StackNavigator({
    Home: {screen: HomeScreen},
    Chat: {screen: NewScreen}
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM