Search⌘ K
AI Features

مكونات مخفض السرعة ثنائي الوضع

تعرف على كيفية عمل مكون واحد مدفوع بالمخفض في كل من الأوضاع الخاضعة للتحكم وغير الخاضعة للتحكم دون تكرار المنطق.

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

تصميم مخفض ثنائي الوضع

يتم تحديد نمط عمل المكون الذي يتم تشغيله بواسطة مُخفِّض السرعة من خلال سؤال واحد:

هل يتم توفير قيمة الموثوقة عبر الخصائص؟

إذا كانت قيمة (أوchecked ،count إذا تم توفير الخاصية (إلخ)، يعمل المكون في الوضع المُتحكم به. وإلا، فإنه يعمل في الوضع غير المُتحكم به. يصف المُختزل دائمًا نفس انتقالات الحالة؛ ويتغير فقط مالك الحالة.

في وضع غير مُتحكم به:

  • يتجاهل المستهلكvalue دعم.

  • يقوم المكون بتهيئة حالة المُخفِّض المحلي عبرuseReducer .

  • تقوم معالجات الأحداث بإرسال الإجراءات الداخلية (dispatchInternal ).

  • تُقرأ قيمة المعروضة مباشرة من حالة المُختزل الداخلي.

في وضع مُتحكم به:

  • يقوم المستهلك بتوفيرvalue دعم.

  • يتجاهل المكون حالة المُختزل الداخلية الخاصة به عند العرض.

  • يجب ألا تقوم معالجات الأحداث بتحديث الحالة الداخلية؛ بدلاً من ذلك، فإنها تستدعيonChange(nextValue) .

  • لا يتم تحديث الحالة إلا عند إعادة عرض العنصر الأصل بالحالة الجديدة. ...