react-analytics-tracker
Version:
react-analytics-tracker is a React component for tracking user interactions and events on your web application. This component captures click and view events, collects various data points, and reports them to a specified endpoint.
63 lines (62 loc) • 2.92 kB
TypeScript
import React, { Component, RefObject } from "react";
import { AnalyticsTracker, AnalyticsTrackerProps } from "../analyticsTracker/AnalyticsTracker";
interface AnalyticsContextType {
tracker: RefObject<AnalyticsTracker>;
}
declare const AnalyticsContext: React.Context<AnalyticsContextType | null>;
export declare class AnalyticsProvider extends Component<AnalyticsTrackerProps> {
private analyticsTrackerRef;
constructor(props: AnalyticsTrackerProps);
render(): React.JSX.Element;
}
export declare const withAnalytics: <P extends object>(WrappedComponent: React.ComponentType<P>) => {
new (props: P): {
context: React.ContextType<typeof AnalyticsContext>;
componentDidMount(): void;
render(): React.JSX.Element;
setState<K extends "tracker">(state: {
tracker: RefObject<AnalyticsTracker> | null;
} | ((prevState: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>, props: Readonly<P>) => Pick<{
tracker: RefObject<AnalyticsTracker> | null;
}, K> | {
tracker: RefObject<AnalyticsTracker> | null;
} | null) | Pick<{
tracker: RefObject<AnalyticsTracker> | null;
}, K> | null, callback?: (() => void) | undefined): void;
forceUpdate(callback?: (() => void) | undefined): void;
readonly props: Readonly<P> & Readonly<{
children?: React.ReactNode | undefined;
}>;
state: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>;
refs: {
[key: string]: React.ReactInstance;
};
shouldComponentUpdate?(nextProps: Readonly<P>, nextState: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>, nextContext: any): boolean;
componentWillUnmount?(): void;
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
getSnapshotBeforeUpdate?(prevProps: Readonly<P>, prevState: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>): any | null;
componentDidUpdate?(prevProps: Readonly<P>, prevState: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>, snapshot?: any): void;
componentWillMount?(): void;
UNSAFE_componentWillMount?(): void;
componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<P>, nextContext: any): void;
componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>, nextContext: any): void;
UNSAFE_componentWillUpdate?(nextProps: Readonly<P>, nextState: Readonly<{
tracker: RefObject<AnalyticsTracker> | null;
}>, nextContext: any): void;
};
contextType: React.Context<AnalyticsContextType | null>;
};
export {};