0

正如createBottomTabNavigator 的文档中所说,导航器内的屏幕可以包含一个名为的变量navigationOptions,它们可以在其中配置不同的设置。我使用自己的组件成功地做到了这一点,但是,当我尝试将 Stack Navigator 放入底部选项卡导航器中时,我遇到了一个问题。

问题:在创建堆栈导航器以自定义与我创建的堆栈导航器相对应的底部选项卡导航器时,我不确定将navigationOptions变量放在哪里。tabIcon

我试过这个:(代码片段#1)

const navigator = createStackNavigator(
    {
        'MainKYCScreen': {
            screen: KYCScreen
        }
    },
    {
    initialRouteName: "MainKYCScreen"
    },
);

const AppContainer = createAppContainer(navigator);

// navigationOptions - start
AppContainer.navigationOptions = {
    tabBarIcon: ({ focused }) => (
        <NavButtonContainer focused={focused}>
            <KYCIcon status={KYCIcon.TYPE_RED} />
        </NavButtonContainer>
    )
};
// navigationOptions - end

export default AppContainer;

这:(代码片段#2)

const navigator = createStackNavigator(
    {
        'MainKYCScreen': {
            screen: KYCScreen
        }
    },
    {
        initialRouteName: "MainKYCScreen"
    },
);

const AppContainer = createAppContainer(navigator);

export default class KYCNavigator extends AppContainer {
    // navigationOptions - start
    static navigationOptions = {
        tabBarIcon: ({ focused }) => (
            <NavButtonContainer focused={focused}>
                <KYCIcon status={KYCIcon.TYPE_RED} />
            </NavButtonContainer>
        )
    }
    // navigationOptions - end
}

navigationOptions - start将代码从删除navigationOptions - end。把它放在那里似乎会返回一个奇怪的错误。

在此处输入图像描述

有人可以帮助我吗?

4

1 回答 1

2

关于您的错误,只需从“react”包中导入 React。

import React, {Component} from 'react' 

对于为什么应该导入它的解释,我认为可以解释为什么。

于 2019-03-15T09:33:28.540 回答