Skip to main content

مقدمة

يلتقط Lerix الأخطاء من تطبيق React الخاص بك لتتمكّن من تصحيح المشاكل بشكل أسرع. بعد إتمام تثبيت React، استخدم useLerix().throwError() لإرسال أخطاء مخصّصة إلى لوحة التحكم — أما الأخطاء غير الملتقطة فتُلتقط تلقائياً، دون الحاجة لأي كود إضافي.
تأكّد من أن تطبيقك مغلّف بـ LerixProvider قبل الإبلاغ عن الأخطاء.

الإبلاغ عن خطأ

المعاملات (Parameters)

قيم BugType

قيم BugSeverity

الالتقاط التلقائي للأخطاء

يُثبّت LerixProvider التقاط الأخطاء بطريقتين، بحيث لا حاجة لتغليف أي شيء في try/catch للحصول على تغطية أساسية:
  • يلتقط LerixErrorBoundary الأخطاء التي تحدث أثناء العرض (rendering) — عقد حدود الأخطاء (error boundary) في React يغطّي فقط مرحلة العرض، وليس معالجات الأحداث أو الكود غير المتزامن.
  • تلتقط مستمعا window.onerror وَ unhandledrejection العامّان كل شيء آخر — معالجات الأحداث، المؤقّتات، ورفض الوعود (promise rejections).
خلافاً لمعالج الأعطال في تطبيق أصلي (native)، لا يكون تبويب المتصفح على وشك الإنهاء عند حدوث أحد هذين — لذا يُرسَل التقرير فوراً بدلاً من حفظه لتشغيل لاحق.
يمكن أن يكون fallback عنصراً عادياً، أو دالة تستقبل الخطأ الملتقَط: fallback={(error) => <p>{String(error)}</p>}. لتعطيل المستمعَين العامَّين (مثلاً إذا كان تطبيقك يملك بالفعل نظام إبلاغ عن الأخطاء خاصاً به وتريد فقط استدعاءات throwError اليدوية):
يستمر LerixErrorBoundary في التقاط أخطاء العرض بغضّ النظر عن هذا الخيار — فهو مكوّن منفصل وصريح تتحكّم به عبر مكان وضعه.

الالتقاط التلقائي لتتبّع المكدس

عند استدعاء throwError() دون تمرير معامل stack، يُلتقط تتبّع مكدس تلقائياً من موضع الاستدعاء — لا تحتاج لتمريره صراحةً إلا عند الإبلاغ عن تتبّع مكدس خطأ (Error) ملتقَط بنفسك بدلاً من موضع استدعاء throwError (مثل error.stack?.split('\n')). في الحالتين، يُحلَّل كل إطار من إطارات المكدس من موضعه المُجمَّع (compiled/bundled) إلى ملف المصدر الأصلي وسطره، باستخدام خريطة المصدر (source map) الخاصة بالبناء نفسه — نفس الآلية التي تستخدمها أدوات المطوّرين (DevTools) في المتصفح لعرض تتبّعات مكدس مقروءة بدلاً من مواضع الحزمة (bundle) المُصغَّرة. يحدث هذا تلقائياً؛ لا حاجة لأي إعداد.
يتطلّب التحليل أن تكون خريطة المصدر متاحة على رابط الإطار — وهذا صحيح دائماً في بيئة التطوير، وصحيح في الإنتاج فقط إذا كان بناؤك يقدّم ملفات .map علناً. إذا أبقى بناء الإنتاج خرائط المصدر خاصة (خيار شائع)، ترجع الإطارات إلى موضعها المُجمَّع بدلاً من فشل الإبلاغ — التحليل هو أفضل محاولة (best-effort) ولا يعطّل أو يؤخّر التقرير نفسه أبداً.
لتحصل على تتبّعات مكدس مقروءة في الإنتاج مع إبقاء خرائط المصدر خاصة، ارفعها إلى Lerix بعد كل بناء. راجع خرائط المصدر لـ React.

تحقّق من التكامل

ثم افتح لوحة التحكم — يجب أن يظهر الخطأ خلال ثوانٍ، مع تتبّع مكدس محلَّل يشير إلى هذا السطر بالتحديد.