UNPKG

react-event-connector

Version:
20 lines (19 loc) 739 B
import { useEffect, useId } from "react"; import { EventConnector } from "./event-connector"; export var useSubscriber = function (signalName, subscriber) { var id = useId(); var eventConnector = EventConnector.getInstance(); var existingSubscriber = eventConnector.findSubscriber(signalName, id); function removeSubscriber() { if (existingSubscriber) { eventConnector.removeSubscriber(signalName, id); } } removeSubscriber(); useEffect(function () { if (!eventConnector.findSubscriber(signalName, id)) eventConnector.subscribe(signalName, id, subscriber); return removeSubscriber; }, []); eventConnector.subscribe(signalName, id, subscriber); };