publisher-subscriber-react-hoc

React Higher-Order Component, which provides 'subscribe', 'unsubscribeAll', 'eventSubscribersCount', 'subscribersCount' methods. Can be used with various eventEmitters, including browser's 'window' object.

Usage no npm install needed!

<script type="module">
  import publisherSubscriberReactHoc from 'https://cdn.skypack.dev/publisher-subscriber-react-hoc';
</script>

README

About

  • Javascript implementation of publisher subscriber pattern for React (Higher-order-component)
  • Can be used with various event emitters including browser's window object
  • Provides ProviderPublisher and withPublisher

Installation

npm i publisher-subscriber-react-hoc

API

PublisherProvider

interface PublisherProviderProps {
  emitter: Record<string | number | symbol, unknown>;;
  addListenerMethodName: string;
  removeListenerMethodName: string;
};

withPublisher

type EventCallback<P = {}> = (event: P & Event) => void;

interface WithPublisherProps {
  eventSubscribersCount(eventName: string): number;
  subscribe(eventName: string, eventCallback: EventCallback): () => void;
  subscribersCount(): number;
  unsubscribeAll(): void;
};

Dependencies

Dependencies

  • publisher-subscriber-pattern@2.0.2
  • react@16.x.x
  • react-dom@16.x.x

DevDependencies

  • Typescript
  • jest, enzyme
  • Babel