react-tracer-component
TypeScript icon, indicating that this package has built-in type declarations

1.0.8 • Public • Published

react-tracer-component

Support the React component for exposing buried points and clicking buried points, without affecting the dom structure and without the need to package an additional layer of div

支持曝光埋点、点击埋点的 react 组件, 不会影响 dom 结构, 不需要多包一层 div

install

npm i react-tracer-component -S or yarn add react-tracer-component -S

use

import { getTracerComponent, SendData } from "react-tracer-component";
import track from "you-track";

// customize your tracer events
// 自定义你的埋点事件
const sendData: SendData = (type, trackerParams) => {
  console.info("tracer type:", type); // 'click' | 'exposure';
  console.info("tracer params:", trackerParams); // { a: 'a', b: 'b', ... }
  track(type, trackerParams);
};

const Tracer = getTracerComponent({
  sendData,
  onError: (err) => console.info("tracer err: ", err),
});

// const App = () => <div>this is app</div>;
// replace with
// 替换成
const App = () => (
  <Tracer.div clickTrackParam={{ a: 'a', b: 'b', ... }} exposureTrackParam={{ a: 'a', b: 'b', ... }}>
    this is app
  </Tracer.div>
);

more tag

Tracer.div Tracer.li Tracer.ul Tracer.span ...

All soundtrack dom tags support

所有原声 dom 标签都支持

more

Supports Typescript paradigm constraints

支持 Typescript 范型约束

type TracerClickParams = {
  act: "click";
  clickKey1: any;
} & {
  [K in string]?: any;
};
type TracerExposureParams = {
  act: "exposure";
  exposureKey1: any;
} & {
  [K in string]?: any;
};
const Tracer = getTracerComponent<TracerClickParams, TracerExposureParams>({
  sendData: () => {},
  onError: (err) => console.info("tracer err: ", err),
});
// error
const node1 = (
  <>
    <Tracer.div clickTrackParam={{ a: "a" }} />
    <Tracer.div exposureTrackParam={{ a: "a" }} />
  </>
);
// ok
const node2 = (
  <>
    <Tracer.div clickTrackParam={{ act: "click", clickKey1: "", a: "a" }} />
    <Tracer.div
      exposureTrackParam={{ act: "exposure", exposureKey1: "", a: "a" }}
    />
  </>
);

/react-tracer-component/

    Package Sidebar

    Install

    npm i react-tracer-component

    Weekly Downloads

    4

    Version

    1.0.8

    License

    ISC

    Unpacked Size

    26.6 kB

    Total Files

    12

    Last publish

    Collaborators

    • juln