Library for using the Unify Intent JS Client in a React app.
npm install @unifygtm/intent-react
yarn add @unifygtm/intent-react
Wrap your React app in a UnifyIntentProvider:
import { UnifyIntentClient, UnifyIntentClientConfig, UnifyIntentProvider } from '@unifygtm/intent-react'; const writeKey = 'YOUR_PUBLIC_API_KEY'; const config: UnifyIntentClientConfig = { autoPage: true, autoIdentify: false, }; const intentClient = new UnifyIntentClient(writeKey, config); const root = ReactDOM.createRoot( document.getElementById('root') as HTMLElement, ); root.render( <UnifyIntentProvider intentClient={intentClient}> <App /> </UnifyIntentProvider> );
Then, any components rendered in your app can access the intent client
using the useUnifyIntent hook:
import { useUnifyIntent } from '@unifygtm/intent-react'; const SomeComponent = () => { // However you access the current user... const currentUser = useCurrentUser(); const unify = useUnifyIntent(); useEffect(() => { // Log an identify event for the current user unify.identify(currentUser.emailAddress); }, [currentUser.emailAddress]); };