Pachetul @tracio/react încapsulează nucleul @tracio/sdk și expune primitive React idiomatice: un provider care montează agentul și hook-uri care îți oferă ID-ul vizitatorului și rezultatul identificării, împreună cu starea de încărcare și de eroare.
npm install @tracio/react @tracio/sdkreact (18 sau 19) este o dependență peer și se presupune că este deja instalată în aplicația ta.
Încapsulează aplicația cu <TracioProvider>. Acesta montează agentul TRACIO la primul render și apelează automat tracio.destroy() când providerul se demontează.
import { TracioProvider } from "@tracio/react"
function Root() { return ( <TracioProvider publicKey={process.env.NEXT_PUBLIC_TRACIO_KEY!}> <App /> </TracioProvider> )}| Prop | Tip | Descriere |
|---|---|---|
publicKey | string | Cheia ta publică. Copiaz-o din dashboard. |
config | TracioConfig | Obiect de configurare complet. Are prioritate față de props-urile scalare simple de mai jos. |
endpoint | string | Originea propriului subdomeniu, de exemplu https://metrics.yoursite.com. Consultă Domenii personalizate. |
scriptUrl | string | URL-ul complet al scriptului agentului. Înlocuiește întregul URL, inclusiv cheia publică — pentru un domeniu personalizat folosește endpoint. |
debug | boolean | Înregistrează diagnostice detaliate în consolă. |
timeoutMs | number | Cât timp se așteaptă rezultatul înainte de timeout (implicit 15000). |
children | ReactNode | Obligatoriu — subarborele React de încapsulat. |
Transmite fie publicKey împreună cu scalarii simpli, fie un obiect config complet. Când sunt furnizate ambele, config are câștig de cauză.
Returnează identificatorul stabil al vizitatorului împreună cu starea de încărcare și de eroare.
const { data, isLoading, error, isFetched, getId } = useVisitorId()// data: string | undefined — the visitorIdgetId() re-preia ID-ul vizitatorului în mod imperativ.
Returnează întregul TracioResult (ID-ul vizitatorului plus detectarea boților).
const { data, isLoading, error, isFetched, getData } = useTracioResult()// data: TracioResult | undefinedopts.immediate are valoarea implicită true. Transmite { immediate: false } pentru a amâna preluarea până când apelezi chiar tu getData() — util în spatele unui gate de consimțământ:
const { data, getData } = useTracioResult({ immediate: false })
function onConsent() { getData() // identify only after the user opts in}Escape hatch care returnează instanța subiacentă pentru utilizare avansată.
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 pe care se construiesc hook-urile