Shared event emitter between native and JS for React Native.
Objective-C JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
iOS commit Aug 27, 2015
.flowconfig commit Aug 27, 2015
.gitignore commit Aug 27, 2015
.npmignore commit Aug 27, 2015
GlobalEventEmitter.ios.js logical bug fix Jan 13, 2016
LICENSE Initial commit Aug 27, 2015 Update readme Aug 27, 2015
RNTGlobalEventEmitter.h commit Aug 27, 2015
RNTGlobalEventEmitter.m commit Aug 27, 2015
Screenshot.png commit Aug 27, 2015
index.ios.js commit Aug 27, 2015
package.json dependencies -> peerDependencies Jan 25, 2016


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.


Screenshot of the example app


// listen to event posted to NSNotificationCenter by native code
var eventName = GlobalEventEmitter.UIApplicationNotifications.UIApplicationDidEnterBackgroundNotification;
GlobalEventEmitter.addListener(eventName, (data) => {

// event available on NSNotificationCenter for native code
var eventName = "UserDidLoginFromJS"
GlobalEventEmitter.emit(eventName, {name: 'John'});


  • addListener: Add a listener for an eventName and pass a callback function.
  • emit: Emit events to native/JS globally.
  • removeListener: Remove a listener by passing the eventName and the reference to the original callback function.
  • removeAllListeners: Stop listening to all events of a particular eventName.


Use your preferred method of including the library in your app.


Try the included example:

git clone
npm install
open iOS/RNTGlobalEventEmitter.xcodeproj

Then Cmd+R to start the React Packager, build and run the project in the simulator.


Param Aggarwal (


MIT License