React-dnd: أضف دعمًا لـ React 16.3 createRef type of ref

تم إنشاؤها على ٣ أبريل ٢٠١٨  ·  13تعليقات  ·  مصدر: react-dnd/react-dnd

يؤدي استخدام connectDragSource مع عنصر يستخدم واجهة برمجة تطبيقات createRef الجديدة (المقدمة في React 16.3.0) بدلاً من مراجع رد الاتصال إلى تعطل التطبيق بسبب الخطأ: TypeError: previousRef is not a function .

https://github.com/facebook/react/pull/12162

enhancement

التعليق الأكثر فائدة

المشكلة نفسها. هل يجب أن أعود إلى استخدام مرجع رد النداء القديم ، أم أن هناك طريقة لحل هذه المشكلة؟

ال 13 كومينتر

هذا ما يخرجه المتصفح:

    return (0, _react.cloneElement)(element, {
        ref: function ref(node) {
            newRef(node);

            if (previousRef) {
                previousRef(node); // << fails with new refs
            }
        }
    });

المشكلة نفسها. في المرة الأولى التي أتيحت لي فيها فرصة أخيرًا لاستخدام الحكام الجدد وكان رد فعل dnd في الطريق.

على المدى الطويل ، لست متأكدًا من نموذج رد الفعل الكامل لاستخدام findDOMNode واستبدال المرجع. عندما يكون لدى React createRef و withRef جديدان. واجهة برمجة تطبيقات For forwardRef الجديدة. وبدأ عدد من واجهات برمجة التطبيقات في الاستفادة من دعائم التصيير.

ولكن في الوقت الحالي يجب أن يكون كافيًا للتحقق مما إذا كان previousRef كائنًا بخاصية current وتعيين ذلك بدلاً من استدعائه كدالة.

أي شخص لديه أي حلول لهذا ، بينما لا يزال يستخدم createRef ()؟

يمكنني البحث في هذا لاحقًا ، ولكن سيكون وضع الحماية الذي يوضح ما تبحث عنه رائعًا هنا.

أواجه نفس المشكلة أيضًا.
darthtrevino https://codesandbox.io/s/733onvqwl6 ربما يساعد هذا الصندوق الرمل.

المشكلة نفسها. هل يجب أن أعود إلى استخدام مرجع رد النداء القديم ، أم أن هناك طريقة لحل هذه المشكلة؟

+1
استخدام React.createRef() و ref.current تعطل التطبيق.

متى سيتم إصلاح هذا؟

ما زال غير ثابت: /

سأخصص بعض الوقت بعد رد الفعل-أسيوط للنظر في هذا

تمكنت من استخدام حل بديل كما هو مقترح من خلال تغليف ref div داخل div فارغ آخر.
مثال:

 <div>
        <div
          style={{
            position: "relative",
            borderStyle: "dashed",
            width: 300,
            height: 200,
            position: "relative"
          }}
          ref={this.myRef}
        />
      </div>

👍 أي تحديث على هذاdarthtrevino. سيكون من الرائع سماع التحديث

darthtrevino واجهت نفس المشكلة ، هل يمكننا الحصول على أي

يجب أن يكون اليوم على ما أعتقد. اسمحوا لي أن أعرف إذا كان هناك أي مشاكل في الإصدار الذي قطعته لاحقًا

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات