Shared event emitter between native and JS for React Native.
Uses iOS NotificationCenter and RN DeviceEventEmitter to provide a seamless global event bus between native and React Native.
// listen to event posted to NSNotificationCenter by native code
var eventName = GlobalEventEmitter.UIApplicationNotifications.UIApplicationDidEnterBackgroundNotification;
GlobalEventEmitter.addListener(eventName, (data) => {
console.log('UIApplicationDidEnterBackgroundNotification');
});
// event available on NSNotificationCenter for native code
var eventName = "UserDidLoginFromJS"
GlobalEventEmitter.emit(eventName, {name: 'John'});addListener: Add a listener for aneventNameand pass acallbackfunction.emit: Emit events to native/JS globally.removeListener: Remove a listener by passing theeventNameand the reference to the originalcallbackfunction.removeAllListeners: Stop listening to all events of a particulareventName.
Use your preferred method of including the library in your app.
Try the included example:
git clone [email protected]:paramaggarwal/react-native-global-event-emitter.git
npm install
open iOS/RNTGlobalEventEmitter.xcodeprojThen Cmd+R to start the React Packager, build and run the project in the simulator.
Param Aggarwal ([email protected])
MIT License
