Pakiet @tracio/react opakowuje bazowy @tracio/sdk i udostępnia idiomatyczne prymitywy Reacta: provider, który montuje agenta, oraz hooki, które przekazują Ci identyfikator odwiedzającego i wynik identyfikacji wraz ze stanem ładowania i błędu.
npm install @tracio/react @tracio/sdkreact (18 lub 19) jest peer dependency i zakłada się, że jest już zainstalowany w Twojej aplikacji.
Opakuj swoją aplikację komponentem <TracioProvider>. Montuje on agenta TRACIO przy pierwszym renderze i automatycznie wywołuje tracio.destroy(), gdy provider jest odmontowywany.
import { TracioProvider } from "@tracio/react"
function Root() { return ( <TracioProvider publicKey={process.env.NEXT_PUBLIC_TRACIO_KEY!}> <App /> </TracioProvider> )}| Prop | Typ | Opis |
|---|---|---|
publicKey | string | Twój klucz publiczny. Skopiuj go z panelu. |
config | TracioConfig | Pełny obiekt konfiguracji. Ma pierwszeństwo przed płaskimi propsami skalarnymi poniżej. |
endpoint | string | Niestandardowy endpoint API (dla endpointu proksowanego first-party). |
scriptUrl | string | Niestandardowy URL skryptu agenta (dla endpointu proksowanego first-party). |
debug | boolean | Zapisuje szczegółową diagnostykę do konsoli. |
timeoutMs | number | Jak długo czekać na wynik przed przekroczeniem limitu czasu (domyślnie 15000). |
children | ReactNode | Wymagane — poddrzewo React do opakowania. |
Przekaż albo publicKey wraz z płaskimi skalarami, albo kompletny obiekt config. Gdy podano oba, wygrywa config.
Zwraca stabilny identyfikator odwiedzającego wraz ze stanem ładowania i błędu.
const { data, isLoading, error, isFetched, getId } = useVisitorId()// data: string | undefined — the visitorIdgetId() imperatywnie pobiera ponownie identyfikator odwiedzającego.
Zwraca pełny TracioResult (identyfikator odwiedzającego plus wykrywanie botów).
const { data, isLoading, error, isFetched, getData } = useTracioResult()// data: TracioResult | undefinedopts.immediate domyślnie ma wartość true. Przekaż { immediate: false }, aby odroczyć pobranie do momentu, gdy sam wywołasz getData() — przydatne za bramką zgody:
const { data, getData } = useTracioResult({ immediate: false })
function onConsent() { getData() // identify only after the user opts in}Furtka awaryjna, która zwraca bazową instancję do zaawansowanych zastosowań.
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, na którym oparte są hooki