تغلّف حزمة @tracio/react النواة @tracio/sdk وتوفّر عناصر React أساسية اصطلاحية: مزوّدًا (provider) يركّب الوكيل، وخطافات (hooks) تمنحك معرّف الزائر ونتيجة التعرّف مع حالتَي التحميل والخطأ.
npm install @tracio/react @tracio/sdkالحزمة react (الإصدار 18 أو 19) هي اعتمادية نظير (peer dependency) ويُفترض أنها مثبّتة مسبقًا في تطبيقك.
غلّف تطبيقك بالمكوّن <TracioProvider>. فهو يركّب وكيل TRACIO عند أول عملية عرض (render) ويستدعي tracio.destroy() تلقائيًا عند إزالة المزوّد (unmount).
import { TracioProvider } from "@tracio/react"
function Root() { return ( <TracioProvider publicKey={process.env.NEXT_PUBLIC_TRACIO_KEY!}> <App /> </TracioProvider> )}| الخاصية | النوع | الوصف |
|---|---|---|
publicKey | string | مفتاحك العام. انسخه من لوحة التحكّم الخاصة بك. |
config | TracioConfig | كائن الإعداد الكامل. له الأولوية على الخصائص القياسية المسطّحة أدناه. |
endpoint | string | نقطة نهاية API مخصّصة (لنقطة نهاية عبر وسيط من الطرف الأول). |
scriptUrl | string | عنوان URL مخصّص لسكربت الوكيل (لنقطة نهاية عبر وسيط من الطرف الأول). |
debug | boolean | يسجّل تشخيصات مفصّلة في وحدة التحكّم (console). |
timeoutMs | number | مدة الانتظار للنتيجة قبل انقضاء المهلة (القيمة الافتراضية 15000). |
children | ReactNode | مطلوب — شجرة React الفرعية المراد تغليفها. |
مرّر إمّا publicKey مع الخصائص القياسية المسطّحة، أو كائن config كاملًا. وعند تمرير كليهما، يفوز config.
يُرجع معرّف الزائر الثابت مع حالتَي التحميل والخطأ.
const { data, isLoading, error, isFetched, getId } = useVisitorId()// data: string | undefined — the visitorIdتعيد الدالة getId() جلب معرّف الزائر بشكل إجرائي (imperative).
يُرجع النتيجة الكاملة TracioResult (معرّف الزائر بالإضافة إلى كشف الروبوتات).
const { data, isLoading, error, isFetched, getData } = useTracioResult()// data: TracioResult | undefinedالقيمة الافتراضية لـ opts.immediate هي true. مرّر { immediate: false } لتأجيل الجلب حتى تستدعي getData() بنفسك — وهو مفيد خلف بوابة موافقة (consent gate):
const { data, getData } = useTracioResult({ immediate: false })
function onConsent() { getData() // identify only after the user opts in}مخرج طوارئ (escape hatch) يُرجع المثيل الأساسي للاستخدام المتقدّم.
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 التي تُبنى عليها الخطافات