GaloyMoney / react-native-geetest-module

A React Native GeeTest module for gt3 that can protect server endpoints.
MIT License
5 stars 4 forks source link

`new NativeEventEmitter()` requires a non-null argument. #2

Closed AmazingBeerBelly closed 2 years ago

AmazingBeerBelly commented 2 years ago

Get this error frequently

new NativeEventEmitter() requires a non-null argument.

CleanShot 2022-01-20 at 17 33 28

this is my code:

React.useEffect(() => {
    GeetestModule.setUp();

    const eventEmitter = new NativeEventEmitter(NativeModules.GeetestModule);

    onGeetestDialogResultListener.current = eventEmitter.addListener(
      'GT3-->onDialogResult-->',
      event => {
        const parsedDialogResult = JSON.parse(event.result);
        console.log('GT3-->onDialogResult-->', parsedDialogResult);
      },
    );

    onGeetestFailedListener.current = eventEmitter.addListener(
      'GT3-->onFailed-->',
      event => {
        console.log('GT3-->onFailed->', event.error);
        setLoading(false);
      },
    );

    return () => {
      GeetestModule.tearDown();

      onGeetestDialogResultListener.current?.remove();
      onGeetestFailedListener.current?.remove();
    };
  }, []);

Enviroments: "react-native": "0.66.3", "react-native-geetest-module": "^0.1.2",

francois-pasquier commented 2 years ago

Same issue.

Its due to how plugins are built nowadays => https://reactnative.dev/docs/native-modules-android

I'd like to try to update the package but for some reason it's not finding the actual library from the example.