You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native启动报new NativeEventEmitter缺少addListener等方法警告如何解决

报错原因

React Native 0.65及以上版本强化了NativeEventEmitter的入参校验,当你传入的原生模块没有实现addListener和removeListeners两个必填方法时,就会抛出这两个警告。

修复方案

分两种场景处理:

  • 原生模块是自己开发的
    直接在对应原生模块的代码里补全两个空实现的方法即可,不会影响原有功能:
    安卓端示例(Kotlin):
    @ReactMethod
    fun addListener(eventName: String) {
      // 无需额外逻辑
    }
    
    @ReactMethod
    fun removeListeners(count: Int) {
      // 无需额外逻辑
    }
    
    iOS端示例(Objective-C):
    RCT_EXPORT_METHOD(addListener:(NSString *)eventName) {}
    RCT_EXPORT_METHOD(removeListeners:(double)count) {}
    
    补完之后重新编译原生项目即可消除警告。
  • 是第三方依赖导致的问题
    临时解决可以直接在项目入口文件(index.js或App.js)的最顶部添加日志屏蔽规则:
    import { LogBox } from 'react-native';
    
    LogBox.ignoreLogs([
      '`new NativeEventEmitter()` was called with a non-null argument without the required `addListener` method.',
      '`new NativeEventEmitter()` was called with a non-null argument without the required `removeListeners` method.'
    ]);
    
    想要彻底修复的话,找到出问题的第三方依赖,按照上面自己开发原生模块的修复方案,给依赖的原生代码补全对应方法后重新编译即可。

内容的提问来源于stack exchange,提问作者Muhammad Tahir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 23:48:00