繁体   English   中英

如何将状态值从组件传递到TabNavigator

[英]How Pass state value from Component to TabNavigator

我想通过propStackNavigator将道具从组件传递到createBottomTabNavigator

const TabsNavigator = createBottomTabNavigator({
    'Notification': {
        screen: Private,
        navigationOptions: () => ({
            tabBarIcon:
            <Text style={{ color: '#FFFFFF' }}>
                3
            </Text>
        })
    }
})
const BaseNavigatorContainer = createAppContainer(
    createStackNavigator({
        'TABS': { screen: TabsNavigator }
    })
);

class BaseNavigator extends Component {
    render() {
        return (
            <BaseNavigatorContainer screenProps={{ BadgeCount: this.state.BadgeCount }} />
        )
    }
}

export { BaseNavigator };

我想将this.state.BadgeCount传递给3

您只需将连接的组件作为图标传递,即可获得badgeCount

const TabsNavigator = createBottomTabNavigator({
    'Notification': {
        screen: Private,
        navigationOptions: () => ({
            tabBarIcon: ({ tintColor }) => (
                <TabBarIconWithBadge color={tintColor} />
            ),
        }),
    }
})

您的图标组件将如下所示:

const TabBarIconWithBadge = props => (
    <Icon color={props.color} />
    <Text style={...}>{props.badgeCount}</Text> 
);

const mapStateToProps = state => {
    return {
        badgeCount: state.notifications.badgeCount
    };
};

export default connect(mapStateToProps)(TabBarIconWithBadge);

暂无
暂无

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

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