It started as a fork of react-native-event-listeners. Now it is rewritten with Typescript and React Hooks support.
If you use React, check out the simple yet powerful hooks and state management at react.md
import GlobalEvent from 'js-events-listener'
// or import { GlobalEvent } from 'js-events-listener'
// or const GlobalEvent = require('js-events-listener');| static method | return value | description |
|---|---|---|
| addEventListener | string | boolean | return value is the id of the event listener or false on error |
| removeEventListener | boolean | true on success otherwise false |
| removeAllListeners | boolean | true on success otherwise false |
| emitEvent | void | no return value |
| on | string | boolean | shorthand for addEventListener |
| rm | boolean | shorthand for removeEventListener |
| rmAll | boolean | shorthand for removeAllListeners |
| emit | void | shorthand for emitEvent |
- File
a.js
import GlobalEvent from 'js-events-listener'
export const runThis = () => {
GlobalEvent.emit('some-event-name', { someData: 123 })
}- File
b.js
import GlobalEvent from 'js-events-listener'
export const setupListenerBeforeTheEventEmitted = () => {
GlobalEvent.on('some-event-name', data => {
console.log(data); // { someData: 123 }
})
}- File
c.js
import GlobalEvent from 'js-events-listener'
export const setupListenerBeforeTheEventEmitted = () => {
const eventId = GlobalEvent.on('some-event-name', data => {
console.log(data); // { someData: 123 }
});
// remove listener
GlobalEvent.rm(eventId);
}- File
d.ts
import GlobalEvent from 'js-events-listener'
type PayloadData {
someData: number,
}
export const setupListenerBeforeTheEventEmitted = () => {
const eventId = GlobalEvent.on<PayloadData>('some-event-name', data => {
console.log(data); // { someData: 123 }, as PayloadData
});
// remove listener
GlobalEvent.rm(eventId);
}