eslint-plugin-react-hooks
يوفر eslint-plugin-react-hooks قواعد ESLint لفرض قواعد React.
يساعدك هذا الإضافة على اكتشاف انتهاكات قواعد React في وقت البناء، مما يضمن أن مكوناتك و hooks تتبع قواعد React للصحة والأداء. تغطي عمليات lint كلاً من أنماط React الأساسية (exhaustive-deps و rules-of-hooks) والمشاكل التي يبلغ عنها React Compiler. يتم عرض تشخيصات React Compiler تلقائيًا بواسطة إضافة ESLint هذه، ويمكن استخدامها حتى لو لم يتبنى تطبيقك المُجمّع بعد.
القواعد الموصى بها
يتم تضمين هذه القواعد في الإعداد المسبق recommended في eslint-plugin-react-hooks:
exhaustive-deps- يتحقق من أن مصفوفات التبعية لـ React hooks تحتوي على جميع التبعيات الضروريةrules-of-hooks- يتحقق من أن المكونات و hooks تتبع قواعد Hookscomponent-hook-factories- يتحقق من دوال الترتيب الأعلى التي تعرّف مكونات أو hooks متداخلةconfig- يتحقق من خيارات تكوين المُجمّعerror-boundaries- يتحقق من استخدام Error Boundaries بدلاً من try/catch لأخطاء الأطفالgating- يتحقق من تكوين وضع gatingglobals- يتحقق من عدم التعيين/التعديل للمتغيرات العامة أثناء renderimmutability- يتحقق من عدم تعديل props و state والقيم الأخرى غير القابلة للتغييرincompatible-library- يتحقق من عدم استخدام مكتبات غير متوافقة مع memoizationpreserve-manual-memoization- يتحقق من الحفاظ على memoization اليدوية الموجودة بواسطة المُجمّعpurity- يتحقق من أن المكونات/hooks نقية من خلال التحقق من الدوال غير النقية المعروفةrefs- يتحقق من الاستخدام الصحيح لـ refs، وعدم القراءة/الكتابة أثناء renderset-state-in-effect- يتحقق من عدم استدعاء setState بشكل متزامن في effectset-state-in-render- يتحقق من عدم تعيين state أثناء renderstatic-components- يتحقق من أن المكونات ثابتة، ولا يتم إعادة إنشائها في كل renderunsupported-syntax- يتحقق من عدم استخدام بناء جملة لا يدعمه React Compileruse-memo- يتحقق من استخدام hookuseMemoبدون قيمة إرجاع