UNPKG

react-native-unit-components

Version:

Unit React Native components

31 lines (28 loc) 916 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.useEventListener = void 0; var _react = require("react"); var _eventBus = require("../utils/eventBus"); /** * Hook to listen to events from the EventBus * Automatically subscribes on mount and unsubscribes on unmount */ const useEventListener = listener => { const actionRef = (0, _react.useRef)(listener.action); // Keep action ref up to date (0, _react.useEffect)(() => { actionRef.current = listener.action; }, [listener.action]); (0, _react.useEffect)(() => { // Subscribe to the event const unsubscribe = _eventBus.eventBus.on(listener.busEventKey, data => { actionRef.current(data); }); // Cleanup: unsubscribe when component unmounts return unsubscribe; }, [listener.busEventKey]); }; exports.useEventListener = useEventListener; //# sourceMappingURL=useEventListener.js.map