@dynatrace/react-native-plugin
Version:
This plugin gives you the ability to use the Dynatrace Mobile agent in your react native application.
28 lines (27 loc) • 1.11 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.registerListener = void 0;
const react_1 = require("react");
const ConsoleLogger_1 = require("../../../lib/core/logging/ConsoleLogger");
let isRegistered = false;
const logger = new ConsoleLogger_1.ConsoleLogger('ReactNavigation');
const registerListener = (navContainer) => {
(0, react_1.useEffect)(() => {
if (isRegistered &&
navContainer.current != null &&
navContainer.current.addListener != null) {
isRegistered = true;
navContainer.current.addListener('__unsafe_action__', (data) => {
if (data != null &&
data.data != null &&
data.data.action != null) {
logger.debug(`Listener Dispatch: ${JSON.stringify(data.data.action)}`);
}
});
navContainer.current.addListener('state', (state) => {
logger.debug(`Listener State: ${JSON.stringify(state)}`);
});
}
});
};
exports.registerListener = registerListener;