هل هناك مقبض للخلفيات التي تم إنشاؤها بالفعل / DragDropContext؟ أنا أستخدم الكود الخاص بك من # 186:
let defaultManager;
function getDefaultManager() {
if (!defaultManager) {
defaultManager = new DragDropManager(HTML5Backend);
}
return defaultManager;
}
ولكن هل هناك طريقة للتحقق مما إذا كان تطبيق آخر قد أنشأ مديرًا؟
لا يتم التفكير في التعشيش الخلفي بشكل جيد الآن. إذا كنت ترغب في اقتراح تغيير API لجعله أكثر وضوحًا ، يسعدني سماعه!
أنا أستخدم نسخة معدلة من DragDropContext
والتي تستخدم ببساطة getDefaultManager
أعلاه حيث يتم التصريح عن childContext
كما يلي:
const childContext = {
dragDropManager: getDefaultManager(backend)
};
هذا يعمل بشكل جميل بالنسبة لي من خلال تخطيط بطاقة السحب والإفلات المتداخلة ، لكنني أعترف أنني لم أستغرق وقتًا لمراجعة جميع الآثار المترتبة على هذا النهج حتى الآن
تضمين التغريدة
كلما حاولت القيام بذلك ، أستمر في الحصول على
DragDropManager.js:40 Uncaught TypeError: createBackend is not a function
أي فكرة عما يمكن أن يسبب هذا؟ لدي نفس الكود تمامًا مثل jaygood مع DragDropManager المستورد من dnd-core و HTML5Backend تم استيراده من المكتبة الصحيحة.
akhayoongaearon بعد تحديث React DND (وكذلك رد فعل HTML5 Backend) من 2.6 إلى 5.0 ، أتلقى هذا الخطأ أيضًا.
bureson مرحبًا ، أنا أواجه هذه المشكلة أيضًا ، أي حل بديل؟
@ JJie09 ، ستحتاج إلى تغيير طريقة استيراد lib ، أحد الإجراءات التالية:
import HTML5Backend from "react-dnd-html5-backend"
const HTML5Backend = require('react-dnd-html5-backend').default;
تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. شكرا لمساهماتكم.
التعليق الأكثر فائدة
تضمين التغريدة
كلما حاولت القيام بذلك ، أستمر في الحصول على
DragDropManager.js:40 Uncaught TypeError: createBackend is not a function
أي فكرة عما يمكن أن يسبب هذا؟ لدي نفس الكود تمامًا مثل jaygood مع DragDropManager المستورد من dnd-core و HTML5Backend تم استيراده من المكتبة الصحيحة.