@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