يمكن أن يؤدي إنشاء قوائم منسدلة في تطبيق React إلى تحسين تجربة المستخدم من خلال توفير طريقة مدمجة للتنقل والوصول إلى المعلومات الإضافية. في هذا الدليل، سننفذ قائمتين منسدلتين — واحدة للإشعارات والأخرى لإعدادات ملف تعريف المستخدم — باستخدام useReducer لإدارة الحالة وuseRef للتعامل مع النقرات الخارجية لإغلاق القوائم المنسدلة. سنقوم أيضًا بدمج أيقونات Font Awesome للحصول على مظهر مصقول.
في تطوير الويب الحديث، تعد إدارة واجهات المستخدم بكفاءة أمرًا بالغ الأهمية. توفر React، جنبًا إلى جنب مع Tailwind CSS، مجموعة أدوات قوية لإنشاء مكونات سريعة الاستجابة. سنتعلم كيفية التعامل مع وظيفة القائمة المنسدلة في React، مع التأكد من أن النقر خارج القائمة المنسدلة سيؤدي إلى إغلاقها، مع الحفاظ على القدرة على فتح أو إغلاق كل قائمة منسدلة بشكل مستقل.
قبل الغوص في الكود، دعونا نفهم خطافتي React اللتين سنستخدمهما:
useReducer: هذا الخطاف هو بديل لـ useState لإدارة الحالة في المكونات الوظيفية. إنه مفيد بشكل خاص لإدارة منطق الحالة المعقد ومتغيرات الحالة المتعددة. يأخذ الخطاف useReducer وظيفة مخفض وحالة أولية، ويعيد الحالة الحالية ووظيفة إرسال لتحديث تلك الحالة.
useRef: يوفر هذا الخطاف طريقة للإشارة إلى عناصر DOM مباشرة. إنه مفيد للوصول إلى العناصر ومعالجتها دون تشغيل عمليات إعادة العرض. في حالتنا، سوف نستخدم useRef للتحقق مما إذا كانت النقرة قد حدثت خارج القوائم المنسدلة.
أولاً، تأكد من إعداد مشروع React باستخدام Tailwind CSS. إذا لم يكن لديك واحدًا، فيمكنك إنشائه باستخدام تطبيق إنشاء React:
npx create-react-app my-dropdown-app cd my-dropdown-app npm install tailwindcss npx tailwindcss init
قم بتكوين Tailwind عن طريق إضافة الأسطر التالية إلى tailwind.config.js:
module.exports = { purge: ['./src/**/*.{js,jsx,ts,tsx}', './public/index.html'], darkMode: false, theme: { extend: {}, }, variants: { extend: {}, }, plugins: [], };
بعد ذلك، قم بإضافة توجيهات Tailwind إلى ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ملف ارتباط بـبببببببببببببببببببببببببببببببببببببببب الموجودة
@tailwind base; @tailwind components; @tailwind utilities;الخطوة 2: تثبيت الخط Awesome
@tailwind base; @tailwind components; @tailwind utilities;الخطوة 3: إنشاء مكون Navbar
تنفيذ كود Navbar
@tailwind base; @tailwind components; @tailwind utilities;الخطوة 4: دمج شريط التنقل في تطبيقك
@tailwind base; @tailwind components; @tailwind utilities;الخطوة 5: التصميم باستخدام Tailwind CSS
الخطوة 6: اختبار التطبيق
@tailwind base; @tailwind components; @tailwind utilities;من المفترض الآن أن تشاهد شريط التنقل أعلى التطبيق الخاص بك مع القوائم المنسدلة الوظيفية للإشعارات وإعدادات ملف تعريف المستخدم.
التعليمات
1. كيف يعمل الخطاف useReducer في هذا المثال؟
يتيح لنا خطاف useReducer إدارة حالة القوائم المنسدلة المتعددة بكفاءة. نحدد وظيفة المخفض التي تأخذ الحالة الحالية وإجراءًا لإرجاع الحالة الجديدة. يعد هذا النمط مفيدًا لتبديل القوائم المنسدلة والتعامل مع المنطق الخاص بإغلاق جميع القوائم المنسدلة مرة واحدة.
2. لماذا نستخدم المرجع؟
نستخدم useRef للإشارة إلى عناصر القائمة المنسدلة. يتيح لنا هذا التحقق مما إذا كان حدث النقر قد حدث خارج هذه العناصر. إذا حدث ذلك، فإننا نرسل إجراءً لإغلاق القوائم المنسدلة، مما يضمن تجربة مستخدم نظيفة.
3. هل يمكنني إضافة المزيد من القوائم المنسدلة؟
نعم! يمكنك تمديد الحالة في المخفض وإضافة المزيد من القوائم المنسدلة بالمثل. فقط تأكد من أن كل قائمة منسدلة لها مرجعها الخاص ووظيفة التبديل.
4. هل Tailwind CSS ضروري لهذا التنفيذ؟
لا، Tailwind CSS ليس إلزاميًا. يمكنك تصميم قوائمك المنسدلة باستخدام أي إطار عمل CSS أو أنماط CSS مخصصة، ولكن Tailwind يجعل التصميم أسرع وأكثر استجابة.خاتمة
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3