@ima/react-page-renderer
Version:
IMA.js React page renderer.
36 lines (35 loc) • 925 B
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
Object.defineProperty(exports, "useDispatcher", {
enumerable: true,
get: function() {
return useDispatcher;
}
});
const _react = require("react");
const _componentUtils = require("./componentUtils");
function useDispatcher(event, listener) {
const { $Dispatcher } = (0, _componentUtils.useComponentUtils)();
(0, _react.useEffect)(()=>{
if (event && listener) {
$Dispatcher.listen(event, listener);
}
return ()=>{
if (event && listener) {
$Dispatcher.unlisten(event, listener);
}
};
}, [
$Dispatcher,
event,
listener
]);
return (0, _react.useMemo)(()=>({
fire: (...params)=>$Dispatcher.fire(...params)
}), [
$Dispatcher
]);
}
//# sourceMappingURL=dispatcher.js.map