تم حلها: رد فعل جهاز التوجيه activeClassName

المشكلة الرئيسية المتعلقة بـ activeClassName في React Router هي أنه لا يقوم تلقائيًا بتحديث الفئة النشطة عندما يتغير المسار. هذا يعني أنه يجب على المطورين تحديث الفئة النشطة يدويًا كلما تغير المسار ، الأمر الذي قد يكون مضيعة للوقت وعرضة للخطأ. بالإضافة إلى ذلك ، إذا كانت المسارات المتعددة متداخلة مع بعضها البعض ، فقد يصبح من الصعب تتبع المسار النشط حاليًا والفئات التي يجب تطبيقها على كل عنصر.

<Router>
  <Link to="/about" activeClassName="active">About</Link>
</Router>

1. ال مكون يستخدم لإنشاء جهاز توجيه في React يسمح للمستخدمين بالتنقل بين الصفحات المختلفة.

2. ال مكون يستخدم لإنشاء ارتباط عند النقر عليه ، سينقل المستخدم إلى الصفحة المحددة في السمة "إلى" (في هذه الحالة ، "/ حول").

3. تحدد الخاصية المميزة activeClassName الفئة التي يجب تطبيقها عندما يكون الارتباط نشطًا (في هذه الحالة ، "نشط").

ما هو نافلينك

NavLink هو مكون React يستخدم في React Router لإنشاء ارتباط تنقل بين المسارات المختلفة في التطبيق. إنه مشابه لمكون الرابط ، لكنه يضيف سمات نمط للعنصر الذي يتم عرضه عندما يطابق عنوان URL الحالي. يوفر NavLink أيضًا خاصية activeClassName التي يمكن استخدامها لتطبيق اسم فئة عندما يكون مسار الارتباط نشطًا.

سمة activeClassName

تُستخدم السمة activeClassName في React Router لتحديد اسم فئة سيتم تطبيقه على العنصر عندما يتطابق مع عنوان URL الحالي. هذا مفيد لتصميم الروابط أو عناصر التنقل عندما تتطابق مع المسار الحالي. يمكن استخدامه أيضًا لإضافة نمط إضافي إلى العناصر التي لا ترتبط مباشرة بالتوجيه ، مثل إبراز علامة التبويب النشطة حاليًا في شريط التنقل.

لماذا لا يعمل activeClassName

ActiveClassName هي ميزة في React Router تتيح لك إضافة فئة إلى الارتباط النشط في قائمة التنقل. لسوء الحظ ، لن يعمل في React Router لأنه يعتمد على واجهة برمجة تطبيقات سجل المتصفح ، والتي لا تتوفر في React Router. هذا يعني أن React Router لا يمكنه اكتشاف ما إذا قام المستخدم بالنقر فوق ارتباط وتطبيق activeClassName وفقًا لذلك.

الوظائف ذات الصلة:

اترك تعليق