-
Notifications
You must be signed in to change notification settings - Fork 24.9k
Description
- Review the documentation: https://facebook.github.io/react-native
- Search for existing issues: https://github.com/facebook/react-native/issues
- Use the latest React Native version: https://github.com/facebook/react-native/releases
- Run
react-native infoin your terminal and paste its contents under "Environment" - Let us know how to reproduce the issue. Include a code sample, share a project, or
share an app that reproduces the issue using https://snack.expo.io/
Environment
Environment:
OS: macOS High Sierra 10.13.4
Node: 8.9.0
Yarn: 1.2.1
npm: 5.5.1
Watchman: 4.9.0
Xcode: Xcode 9.3.1 Build version 9E501
Android Studio: 3.0 AI-171.4443003
Packages: (wanted => installed)
react: ^16.3.0-alpha.1 => 16.3.0
react-native: 0.54.3 => 0.54.3
Description
I have two or more Objective-C Classes that extend RCTEventEmitter and conform to RCTBridgeModule.
They all return same event names in - (NSArray<NSString *> *)supportedEvents;:


At JavaScript side, I use NativeEventEmitter to listen myEvent of these native classes. However, I need to make sure there's only one listener around so I remove all existing listeners before adding new one. It works fine when I only manipulate one single native module:

When it comes to two or more, like:

I still got this red screen even if I wrote like this:

Steps to Reproduce
- Two or more Native Classes that extends
RCTEventEmitterand conform toRCTBridgeModuleand has some same event names. - At Javascript side, try to remove listeners.
- Get red screen.
Expected Behavior
- Every native class should manage its own events, even if it has same event names with other native classes
