@jichio/react intègre @jichio/core dans une application React 18 ou 19, avec ou sans Next.js. Version actuelle : 0.1.5.

AnalyticsProvider

Crée l’instance du SDK, la rend disponible à l’arbre React et suit les changements d’URL. À monter une seule fois, à la racine de l’application.

Props

Toutes les options de @jichio/core, sauf source (fixée à "sdk-react") :
maxPropertiesBytes et textTruncateLength sont acceptées par le type mais ne sont pas transmises au SDK : les valeurs par défaut (32 Ko, 100 caractères) s’appliquent toujours avec React.
Changer une prop recrée l’instance. Évitez de passer un objet ou une valeur recalculée à chaque rendu.

Suivi de la navigation

Le provider écoute history.pushState, history.replaceState, popstate et hashchange. À chaque changement d’URL (chemin, paramètres ou #hash), il envoie un pageview avec loadType: "spa-navigation". La première page est envoyée par la capture automatique, avec loadType: "initial". Cela fonctionne avec Next.js, React Router, TanStack Router et tout routeur basé sur l’API History.

useAnalytics()

Retourne l’instance : track, identify, page, flush, destroy. Lève une erreur si le composant n’est pas sous un AnalyticsProvider. Dans Next.js, ne l’utilisez que dans un composant client.

useIdentify(userId, traits?)

Appelle identify() quand userId est défini, puis à chaque changement de userId ou des traits. Ne fait rien si userId est vide. Voir Identifier les utilisateurs.

usePageviewTracker(options?) et PageviewTracker

Utilisés par le provider pour suivre la navigation : vous n’en avez normalement pas besoin. Avec pathname, le hook envoie un pageview à chaque changement de cette valeur au lieu d’écouter l’API History. Le provider monte déjà PageviewTracker : ajouter ce hook en plus enverrait deux pageview par navigation.

Exports