Le paquet @tracio/react encapsule le cœur @tracio/sdk et expose des primitives idiomatiques de React : un provider qui monte l'agent, et des hooks qui vous fournissent l'identifiant visiteur et le résultat d'identification avec l'état de chargement et d'erreur.
npm install @tracio/react @tracio/sdkreact (18 ou 19) est une peer dependency et doit déjà être installé dans votre application.
Enveloppez votre application avec <TracioProvider>. Il monte l'agent TRACIO au premier rendu et appelle tracio.destroy() automatiquement lorsque le provider est démonté.
import { TracioProvider } from "@tracio/react"
function Root() { return ( <TracioProvider publicKey={process.env.NEXT_PUBLIC_TRACIO_KEY!}> <App /> </TracioProvider> )}| Prop | Type | Description |
|---|---|---|
publicKey | string | Votre clé publique. Copiez-la depuis votre tableau de bord. |
config | TracioConfig | Objet de configuration complet. Prioritaire sur les props scalaires simples ci-dessous. |
endpoint | string | Endpoint API personnalisé (pour un endpoint proxifié en first-party). |
scriptUrl | string | URL personnalisée pour le script de l'agent (pour un endpoint proxifié en first-party). |
debug | boolean | Consigne des diagnostics détaillés dans la console. |
timeoutMs | number | Durée d'attente du résultat avant expiration (par défaut 15000). |
children | ReactNode | Obligatoire — le sous-arbre React à envelopper. |
Passez soit publicKey avec les scalaires simples, soit un objet config complet. Lorsque les deux sont fournis, config l'emporte.
Renvoie l'identifiant visiteur stable avec l'état de chargement et d'erreur.
const { data, isLoading, error, isFetched, getId } = useVisitorId()// data: string | undefined — the visitorIdgetId() récupère à nouveau l'identifiant visiteur de manière impérative.
Renvoie le TracioResult complet (identifiant visiteur plus détection des bots).
const { data, isLoading, error, isFetched, getData } = useTracioResult()// data: TracioResult | undefinedopts.immediate vaut true par défaut. Passez { immediate: false } pour différer la récupération jusqu'à ce que vous appeliez getData() vous-même — utile derrière une barrière de consentement :
const { data, getData } = useTracioResult({ immediate: false })
function onConsent() { getData() // identify only after the user opts in}Échappatoire qui renvoie l'instance sous-jacente pour un usage avancé.
const { tracio } = useTracio()import { TracioProvider, useVisitorId } from "@tracio/react"function App() { return ( <TracioProvider publicKey={process.env.NEXT_PUBLIC_TRACIO_KEY!}> <Page /> </TracioProvider> )}function Page() { const { data: visitorId, isLoading, error } = useVisitorId() if (isLoading) return <span>Loading…</span> if (error) return <span>Error: {error.message}</span> return <span>Visitor: {visitorId}</span>}@tracio/sdk sur laquelle reposent les hooks