react-event-tracker
Version:
Easily track events in your React application
37 lines (31 loc) • 1.07 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports["default"] = useEventTracking;
var _react = require("react");
var _useSiteTracking = require("./useSiteTracking");
function useEventTracking() {
var _useContext = (0, _react.useContext)(_useSiteTracking.SiteTrackingContext),
getSiteData = _useContext.getSiteData,
getEventTracking = _useContext.getEventTracking,
getPageData = _useContext.getPageData;
var result = (0, _react.useMemo)(function () {
var eventTracking = getEventTracking();
return Object.keys(eventTracking).reduce(function (acc, key) {
acc[key] = function (eventData) {
if (typeof eventTracking[key] === "function") {
var siteData = getSiteData();
var pageData = getPageData();
return eventTracking[key]({
siteData: siteData,
pageData: pageData,
eventData: eventData
});
}
};
return acc;
}, {});
}, [getSiteData, getEventTracking, getPageData]);
return result;
}