@dapperlabs/react-analytics
v2.2.0
Published
A utility to connect react projects to segment
Downloads
458
Maintainers
Keywords
Readme
react-analytics 👩🔬
Convenience component for creating a connection to segment.
Contributing
- please avoid breaking changes and version appropriately
- CI is not setup to publish, do it locally from cmdline with
npm publish
or ask someone who has permissions to do it.
Values provided on context and useAnalytics:
analyticsReady
: booleanidentify
: functionalias
: functiontrackPageView
: functiontrack
: functionreset
: function
Provider Props
children
: the contained react componentssegmentWriteToken
: the segment key
Setup
Import the provider and wrap your application in it.
import { AnalyticsProvider } from '@dapperlabs/react-analytics';
function Root() {
return (
<AnalyticsProvider
segmentWriteToken={process.env.SEGMENT_WRITE_TOKEN}
>
<MyDApp />
</AnalyticsProvider>
)
}
Usage
Context is directly available via import { AnalyticsContext } from '@dapperlabs/react-analytics'
but for more convenience you can use a hook import { useAnalytics } from '@dapperlabs/react-analytics'
import React, { useRef } from 'react';
import { useAnalytics } from '@dapperlabs/react-analytics';
function Button({ children, id, onClick, trackingProperties }) {
const { track } = useAnalytics();
const handleClick = () => {
track('event name', {
text: buttonRef.current.innerText || 'BUTTON_HAS_NO_TEXT',
id: id || 'BUTTON_HAS_NO_ID',
...trackingProperties,
});
onClick();
};
return (
<button
ref={buttonRef}
type="button"
onClick={handleClick}
id={id}
>
{children}
</button>
);
}