ContentMessageContainer.js 1.9 KB
/**
 * Created by zzz on 2019/3/5.
 */

'use strict'

import React, {Component} from "react";
import ReactNative, { StyleSheet, Dimensions, Platform, View, Text, NativeModules, InteractionManager, NativeAppEventEmitter,
} from 'react-native'

import {bindActionCreators} from "redux";
import {connect} from "react-redux";
import {Map} from "immutable";
import LoadingIndicator from '../../common/components/LoadingIndicator';
import * as contentActions from "../reducers/content/contentActions";

import ContentMessageView from '../components/content/ContentMessageView';

const actions = [
    contentActions,
]

function mapStateToProps(state) {
    return {
        contentTipFlag: state.content.contentTipFlag,
    };
}

function mapDispatchToProps(dispatch) {

    const creators = Map()
        .merge(...actions)
        .filter(value => typeof value === 'function')
        .toObject();

    return {
        actions: bindActionCreators(creators, dispatch),
        dispatch
    };
}

class ContentMessageContainer extends Component {
    constructor(props) {
        super(props);
        this._onEndReached = this._onEndReached.bind(this);
    }

    componentDidMount() {

    }

    componentWillUnmount() {

    }


    onRefresh() {

    }

    _onEndReached() {

    }

    render() {
        let {
            contentTipFlag,
        } = this.props
        let isFetching = false;
        return (
            <View style={styles.container}>
                <ContentMessageView
                    ref={(view) => {
                        this.messageView = view
                    }}
                    contentTipFlag={contentTipFlag}/>
                    <LoadingIndicator isVisible={isFetching}/>
            </View>
        )
    }
}

let styles = StyleSheet.create({
    container: {
        flex: 1,
    },
});

export default connect(mapStateToProps, mapDispatchToProps, null, {withRef: true})(ContentMessageContainer)