diff --git a/js/community/components/message/MessageCenter.js b/js/community/components/message/MessageCenter.js index 906fdb1..6226352 100644 --- a/js/community/components/message/MessageCenter.js +++ b/js/community/components/message/MessageCenter.js @@ -64,7 +64,6 @@ export default class MessageCenter extends React.Component { constructor(props) { super(props); - // this.currentPage = 0; this._renderRow = this._renderRow.bind(this); this._renderSeparator = this._renderSeparator.bind(this); @@ -81,10 +80,9 @@ export default class MessageCenter extends React.Component { } - - _renderSeparator() { + _renderSeparator(sectionID, rowID) { return ( - <View style={styles.separator}/> + <View key={'separator' + sectionID + rowID} style={styles.separator}/> ); } @@ -92,12 +90,14 @@ export default class MessageCenter extends React.Component { switch (sectionID) { case 'sysMsg': - return (<MsgCenterCatgoryCell - title={'系统消息'} - data={rowData} - onPressCell={this.props.onPressSystemCell} - defaultSource={require('../../images/message/sysmessage.png')} - />); + return ( + <MsgCenterCatgoryCell + title={'系统消息'} + data={rowData} + onPressCell={this.props.onPressSystemCell} + defaultSource={require('../../images/message/sysmessage.png')} + /> + ); break; case 'likeMsg': @@ -117,6 +117,7 @@ export default class MessageCenter extends React.Component { } return ( <MsgCenterNormalCell + key={sectionID + rowID} onPressAvatar={this.props.onPressAvatar} onPressSection={this.props.onPressSection} onPressPost={this.props.onPressPost} @@ -139,6 +140,11 @@ export default class MessageCenter extends React.Component { list: list.toArray(), }; + let endReachedText = '暂无更多'; + if (list.size == 0) { + endReachedText = '您还没有回复'; + } + return ( <View style={styles.container}> <ListView @@ -156,24 +162,21 @@ export default class MessageCenter extends React.Component { this.props.onRefresh && this.props.onRefresh(); }} onEndReached={() => { - this.props.onEndReached && this.props.onEndReached(this.currentPage); + this.props.onEndReached && this.props.onEndReached(); }} renderFooter={() => { if (endReached) { - console.log('没有更多啦'); return <LoadMoreIndicator - isVisible={true} - text={'没有更多啦'} + isVisible={true} + text={endReachedText} /> } else { - console.log('加载更多'); return <LoadMoreIndicator - isVisible={isLoadingMore} - animating={isFetching} + isVisible={isLoadingMore} + animating={isFetching} /> } }} - /> </View> diff --git a/js/community/components/user/ReplyCell.js b/js/community/components/user/ReplyCell.js index 7ae3444..1d4af16 100644 --- a/js/community/components/user/ReplyCell.js +++ b/js/community/components/user/ReplyCell.js @@ -109,7 +109,7 @@ export default class ReplyCell extends React.Component { createTime, postInfo, } = data; - console.log(data); + return ( <View style={styles.container}> <View style={styles.topContainer}> diff --git a/js/community/containers/LikeListContainer.js b/js/community/containers/LikeListContainer.js index f9477dd..2dcff82 100644 --- a/js/community/containers/LikeListContainer.js +++ b/js/community/containers/LikeListContainer.js @@ -44,7 +44,7 @@ function mapDispatchToProps(dispatch) { } } -class LikeMessageContainer extends React.Component { +class LikeListContainer extends React.Component { constructor(props) { super(props); @@ -104,4 +104,4 @@ let styles = StyleSheet.create({ }); -export default connect(mapStateToProps, mapDispatchToProps)(LikeMessageContainer); +export default connect(mapStateToProps, mapDispatchToProps)(LikeListContainer); diff --git a/js/community/containers/MessageCenterContainer.js b/js/community/containers/MessageCenterContainer.js index b193b4d..f384dfa 100644 --- a/js/community/containers/MessageCenterContainer.js +++ b/js/community/containers/MessageCenterContainer.js @@ -62,7 +62,6 @@ class MessageCenterContainer extends React.Component { _onPressAvatar(uid) { - console.log('avatar'); this.props.actions.goToUserThatNotMe(uid); } @@ -78,7 +77,6 @@ class MessageCenterContainer extends React.Component { } _onPressSection(section) { - console.log('section id = ' + section); this.props.actions.goToSection(section); } @@ -86,12 +84,11 @@ class MessageCenterContainer extends React.Component { InteractionManager.runAfterInteractions(() => { this.props.actions.messageInfo(true); this.props.actions.replyMessage(true); - // this.props.actions. }); } - _onEndReached(page) { + + _onEndReached() { InteractionManager.runAfterInteractions(() => { - this.props.actions.messageInfo(false); this.props.actions.replyMessage(false); }); } @@ -126,6 +123,7 @@ class MessageCenterContainer extends React.Component { likeMsg={Immutable.fromJS([likeMsg])} onPressPost={this._onPressPost} onRefresh={this._onRefresh} + onEndReached={this._onEndReached} onPressSystemMsg={this._onPressSystemMsg} onPressAvatar={this._onPressAvatar} onPressSection={this._onPressSection} diff --git a/js/community/reducers/message/messageActions.js b/js/community/reducers/message/messageActions.js index a7f6e51..6f3123f 100644 --- a/js/community/reducers/message/messageActions.js +++ b/js/community/reducers/message/messageActions.js @@ -163,6 +163,10 @@ export function messageInfo(ptr = false) { return (dispatch, getState) => { let {user, message} = getState(); + if (message.centerMsg.isFetching) { + return; + } + dispatch(messageInfoRequest(ptr)); let uid = user.profile.uid; @@ -180,21 +184,20 @@ export function messageInfo(ptr = false) { export function replyMessage(ptr = false) { return (dispatch, getState) => { - let limit = 10; let {user, message} = getState(); - let uid = user.profile.uid; - - let lastedTime = 0; - if (!ptr) { - lastedTime = message.centerMsg.lastedTime; - } - if (!ptr) { if (message.centerMsg.ptr || message.centerMsg.isFetching || message.centerMsg.endReached || message.centerMsg.error) { return; } } + let uid = user.profile.uid; + let limit = 10; + let lastedTime = 0; + if (!ptr) { + lastedTime = message.centerMsg.lastedTime; + } + dispatch(replyMessageRequest(ptr)); return new MessageService().messageList(uid, 3, lastedTime, limit) diff --git a/js/community/reducers/message/messageReducer.js b/js/community/reducers/message/messageReducer.js index d37d235..91ac746 100644 --- a/js/community/reducers/message/messageReducer.js +++ b/js/community/reducers/message/messageReducer.js @@ -64,7 +64,8 @@ export default function message(state = initialState, action) { { let nextState = state.setIn(['centerMsg', 'sysMsg'], action.payload.sysMsg) .setIn(['centerMsg', 'likeMsg'], action.payload.likeMsg) - .setIn(['centerMsg', 'isFetching'], false); + .setIn(['centerMsg', 'isFetching'], false) + .setIn(['centerMsg', 'ptr'], false); return nextState; } @@ -73,7 +74,8 @@ export default function message(state = initialState, action) { case MESSAGE_INFO_FAILURE: { let nextState = state.setIn(['centerMsg', 'error'], action.payload) - .setIn(['centerMsg', 'isFetching'], false); + .setIn(['centerMsg', 'isFetching'], false) + .setIn(['centerMsg', 'ptr'], false); return nextState; } @@ -94,8 +96,7 @@ export default function message(state = initialState, action) { .setIn(['centerMsg', 'error'], null) .setIn(['centerMsg', 'lastedTime'], lastedTime) .setIn(['centerMsg', 'endReached'], endReached) - .setIn(['centerMsg', 'list'], Immutable.fromJS(list)) - .setIn(['centerMsg', 'ptr'], false); + .setIn(['centerMsg', 'list'], Immutable.fromJS(list)); return nextState; } break;