Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paramaggarwal/react-native-global-event-emitter
Shared event emitter between native and JS for React Native.
https://github.com/paramaggarwal/react-native-global-event-emitter
Last synced: 3 months ago
JSON representation
Shared event emitter between native and JS for React Native.
- Host: GitHub
- URL: https://github.com/paramaggarwal/react-native-global-event-emitter
- Owner: paramaggarwal
- License: mit
- Created: 2015-08-27T14:34:41.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2016-01-25T06:56:51.000Z (almost 9 years ago)
- Last Synced: 2024-10-17T16:12:39.548Z (3 months ago)
- Language: Objective-C
- Size: 104 KB
- Stars: 58
- Watchers: 6
- Forks: 10
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-react-native - react-native-global-event-emitter ★50 - Shared event emitter between native and JS for React Native. (Components / Utils & Infra)
- awesome-react-native - react-native-global-event-emitter ★50 - Shared event emitter between native and JS for React Native. (Components / Utils & Infra)
- awesome-react-native - react-native-global-event-emitter ★50 - Shared event emitter between native and JS for React Native. (Components / Utils & Infra)
- awesome-react-native-ui - react-native-global-event-emitter ★36 - Shared event emitter between native and JS for React Native. (Components / Utils & Infra)
- awesome-react-native - react-native-global-event-emitter ★50 - Shared event emitter between native and JS for React Native. (Components / Utils & Infra)
README
# react-native-global-event-emitter
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
![Screenshot of the example app](https://github.com/paramaggarwal/react-native-global-event-emitter/raw/master/Screenshot.png)
## Usage
```javascript
// 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'});```
## Properties
* `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`.## Installation
Use your preferred method of including the library in your app.
## Example
Try the included example:```sh
git clone [email protected]:paramaggarwal/react-native-global-event-emitter.git
npm install
open iOS/RNTGlobalEventEmitter.xcodeproj
```Then `Cmd+R` to start the React Packager, build and run the project in the simulator.
## Author
Param Aggarwal ([email protected])## License
MIT License