Skip to content

Commit ae2eff4

Browse files
committed
fix add listener call bug
1 parent 2a8434c commit ae2eff4

File tree

2 files changed

+42
-36
lines changed

2 files changed

+42
-36
lines changed

example/index.ios.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,20 @@ import LaunchPage from './app/routes/Launch/index.js';
1515
import HomePage from './app/routes/Home/index.js';
1616
import LoginPage from './app/routes/Login/index.js';
1717
import ChatPage from './app/routes/Chat/index.js';
18+
import ConversationListPage from './app/routes/ConversationList/index.js';
1819

1920
import CardStackStyleInterpolator from 'react-navigation/src/views/CardStackStyleInterpolator';
2021

2122
const ReactJChat = StackNavigator({
2223
Launch: { screen: LaunchPage },
2324
Home: { screen: HomePage },
2425
Login: {screen: LoginPage},
25-
Chat: {screen: ChatPage},
26+
Chat: {
27+
type: 'Reset',
28+
screen: ChatPage,
29+
path: 'people/:conversation'
30+
},
31+
ConversationList: {screen: ConversationListPage}
2632
},{
2733
// mode:'modal',
2834
headerMode: 'screen',

index.js

Lines changed: 35 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -686,75 +686,75 @@ export default class JMessage {
686686
* }
687687
*/
688688
static addReceiveMessageListener(listener) {
689-
listeners[cb] = DeviceEventEmitter.addListener(receiveMsgEvent,
689+
listeners[listener] = DeviceEventEmitter.addListener(receiveMsgEvent,
690690
(message) => {
691-
cb(message);
691+
listener(message);
692692
});
693693
}
694694

695695
static removeReceiveMessageListener(listener) {
696-
if (!listeners[cb]) {
696+
if (!listeners[listener]) {
697697
return;
698698
}
699-
listeners[cb].remove();
700-
listeners[cb] = null;
699+
listeners[listener].remove();
700+
listeners[listener] = null;
701701
}
702702
/**
703703
* 添加点击通知栏消息通知事件监听。
704704
* Note: Android only, (如果想要 iOS 端 实现相同的功能,需要同时集成 jpush-react-native)
705705
* @param {function} listener = function (message) {} // 以参数形式返回消息对象。
706706
*/
707707
static addClickMessageNotificationListener(listener) {
708-
listeners[cb] = DeviceEventEmitter.addListener(clickMessageNotificationEvent,
708+
listeners[listener] = DeviceEventEmitter.addListener(clickMessageNotificationEvent,
709709
(message) => {
710-
cb(message);
710+
listener(message);
711711
});
712712
}
713713

714714
static removeClickMessageNotificationListener(listener) {
715-
if (!listeners[cb]) {
715+
if (!listeners[listener]) {
716716
return;
717717
}
718-
listeners[cb].remove();
719-
listeners[cb] = null;
718+
listeners[listener].remove();
719+
listeners[listener] = null;
720720
}
721721
/**
722722
* 添加同步离线消息事件监听。
723723
*
724724
* @param {function} listener = function ({'conversation': {}, 'messageArray': []}) {} // 以参数形式返回消息对象数组。
725725
*/
726726
static addSyncOfflineMessageListener(listener) {
727-
listeners[cb] = DeviceEventEmitter.addListener(syncOfflineMessage,
727+
listeners[listener] = DeviceEventEmitter.addListener(syncOfflineMessage,
728728
(message) => {
729-
cb(message);
729+
listener(message);
730730
});
731731
}
732732

733733
static removeSyncOfflineMessageListener(listener) {
734-
if (!listeners[cb]) {
734+
if (!listeners[listener]) {
735735
return;
736736
}
737-
listeners[cb].remove();
738-
listeners[cb] = null;
737+
listeners[listener].remove();
738+
listeners[listener] = null;
739739
}
740740
/**
741741
* 添加同步漫游消息事件监听。
742742
*
743743
* @param {function} listener = function ({'conversation': {}}) {} // 以参数形式返回消息对象数组。
744744
*/
745745
static addSyncRoamingMessageListener(listener) {
746-
listeners[cb] = DeviceEventEmitter.addListener(syncRoamingMessage,
746+
listeners[listener] = DeviceEventEmitter.addListener(syncRoamingMessage,
747747
(message) => {
748-
cb(message);
748+
listener(message);
749749
});
750750
}
751751

752752
static removeSyncRoamingMessageListener(listener) {
753-
if (!listeners[cb]) {
753+
if (!listeners[listener]) {
754754
return;
755755
}
756-
listeners[cb].remove();
757-
listeners[cb] = null;
756+
listeners[listener].remove();
757+
listeners[listener] = null;
758758
}
759759

760760
/**
@@ -766,17 +766,17 @@ export default class JMessage {
766766
* }
767767
*/
768768
static addLoginStateChangedListener(listener) {
769-
listeners[cb] = DeviceEventEmitter.addListener(loginStateChanged,
769+
listeners[listener] = DeviceEventEmitter.addListener(loginStateChanged,
770770
(message) => {
771-
cb(message);
771+
listener(message);
772772
});
773773
}
774774
static removeLoginStateChangedListener(listener) {
775-
if (!listeners[cb]) {
775+
if (!listeners[listener]) {
776776
return;
777777
}
778-
listeners[cb].remove();
779-
listeners[cb] = null;
778+
listeners[listener].remove();
779+
listeners[listener] = null;
780780
}
781781
/**
782782
* 好友相关通知事件。
@@ -790,17 +790,17 @@ export default class JMessage {
790790
* }
791791
*/
792792
static addContactNotifyListener(listener) {
793-
listeners[cb] = DeviceEventEmitter.addListener(contactNotify,
793+
listeners[listener] = DeviceEventEmitter.addListener(contactNotify,
794794
(message) => {
795-
cb(message);
795+
listener(message);
796796
});
797797
}
798798
static removeContactNotifyListener(listener) {
799-
if (!listeners[cb]) {
799+
if (!listeners[listener]) {
800800
return;
801801
}
802-
listeners[cb].remove();
803-
listeners[cb] = null;
802+
listeners[listener].remove();
803+
listeners[listener] = null;
804804
}
805805
/**
806806
* 消息撤回事件监听。
@@ -812,17 +812,17 @@ export default class JMessage {
812812
* }
813813
*/
814814
static addMessageRetractListener(listener) {
815-
listeners[cb] = DeviceEventEmitter.addListener(messageRetract,
815+
listeners[listener] = DeviceEventEmitter.addListener(messageRetract,
816816
(message) => {
817-
cb(message);
817+
listener(message);
818818
});
819819
}
820820

821821
static removeMessageRetractListener(listener) {
822-
if (!listeners[cb]) {
822+
if (!listeners[listener]) {
823823
return;
824824
}
825-
listeners[cb].remove();
826-
listeners[cb] = null;
825+
listeners[listener].remove();
826+
listeners[listener] = null;
827827
}
828828
}

0 commit comments

Comments
 (0)