أحاول إيقاف إجراءات إعادة التشغيل التي تساعد في تتبع حالات DnD المختلفة على مستوى العالم. أحتاج إلى معرفة ما إذا كان السحب يحدث وما هو نوع الهدف (من الناحية المثالية بالضبط أي هدف) يتم تحريكه. يعد اكتشاف السحب أمرًا سهلاً بدرجة كافية باستخدام مواصفات المصدر ، لكن لا يمكنني معرفة كيفية اكتشاف التحويم على الهدف. إنه يحتوي على طريقة "hover" في المواصفات ، ولكن هذا يعمل باستمرار ، وبقدر ما أستطيع أن أقول أنه لا توجد طريقة لمعرفة متى يتوقف التحويم. يمكنني استخدام المهلة ولكن هذا يبدو أقل من مثالي. لقد فكرت في التفاف منطقة التطبيق الرئيسية في DropTarget واستخدام فحص "سطحي" ، لكن هذا لا يعطي معلومات حول نوع هدف الإسقاط الذي يتم تحريكه. أظن أن هناك طريقة ما يمكنني من خلالها استغلال سياق DnD لكنني لم أتعمق في ذلك الحد.
قد أكون قادرًا على ربط أحداث onDrag*
الخاصة بي للقيام بما أحتاجه. يضيف ترابطًا بسيطًا بين كود تطبيقي و react-dnd
، من حيث الافتراضات حول خلفية السحب التي أستخدمها. لكن ربما يكون جيد.
يمكنك استخدام أساليب دورة حياة componentWillReceiveProps
وإطلاق إجراء عند nextProps.isOver !== this.props.isOver
. ستحتاج إلى إضافة isOver: monitor.isOver()
إلى دالة DropTarget
collect()
.
التعليق الأكثر فائدة
يمكنك استخدام أساليب دورة حياة
componentWillReceiveProps
وإطلاق إجراء عندnextProps.isOver !== this.props.isOver
. ستحتاج إلى إضافةisOver: monitor.isOver()
إلى دالةDropTarget
collect()
.