使用非空参数调用 new NativeEventEmitter()`,没有必需的 `addListener` 方法

IT技术 reactjs react-native
2021-05-15 13:05:25

我无法解决问题。当应用程序加载时,本机抛出警告。 new NativeEventEmitter()在没有所需addListener方法的情况下使用非空参数调用new NativeEventEmitter()使用非空参数调用WARN 且没有所需的removeListeners方法。

4个回答

这可能是由于最新版本的 react-native。许多库仍未发布新版本来处理这些警告(或某些情况下的错误)。示例包括https://github.com/react-navigation/react-navigation/issues/9882https://github.com/APSL/react-native-keyboard-aware-scroll-view/pull/501如果它困扰您,您可以暂时隐藏警告(来源):

import { LogBox } from 'react-native';
LogBox.ignoreLogs(['new NativeEventEmitter']); // Ignore log notification by message
LogBox.ignoreAllLogs(); //Ignore all log notifications

我只是在主 java module中添加了两个函数:

    // Required for rn built in EventEmitter Calls.
    @ReactMethod
    public void addListener(String eventName) {

    }

    @ReactMethod
    public void removeListeners(Integer count) {

    }

示例:用于修复react-native-fs将函数添加到android/src/main/java/com/rnfs/RNFSManager.java文件中的警告

这是与 react native reanimated library 相关的问题。我通过卸载库并重新安装来解决它。删除https://docs.swmansion.com/react-native-reanimated/docs/fundamentals/installation提供的 react-native-reanimated 库的所有安装步骤

只需使用命令 npm install react-native-reanimated@2.3.0-beta.1 安装库

如果问题仍然存在,则在 android studio 中打开项目。转到文件-> 使缓存无效。之后一切正常。

同样的错误。

改变

const eventEmitter = new NativeEventEmitter(NativeModules.CustomModule);

const eventEmitter = new NativeEventEmitter();

作品