事件监听
添加监听器
可以通过 addEventListener 方法,监听 IMLib 内部触发的各类事件通知。同一事件类型可以绑定多个监听函数,且它们都会被依次执行。
如果只希望监听某个事件一次,可以使用 onceEventListener。
JavaScript
// 消息监听
const Events = RongIMLib.Events;
RongIMLib.addEventListener(Events.MESSAGES, (evt) => {
console.log(evt.messages);
})
常见问题:监听中收到重复的数据
通常是由于业务层重复注册了相同监听器导致的。常见场景如在子组件的生命周期中注册监听,每次组件创建都会触发一次注册,最终导致收到重复数据。
推荐做法:
- 全局注册:建议在应用入口或统一管理位置注册监听器,确保只注册一次。
- 组件内注册需同步销毁:如确需在组件内监听,务必在组件销毁时移除监听器,防止内存泄露和重复回调。