React-dnd: المثال القابل للفرز لا يعمل عن طريق تمرير المرجع

تم إنشاؤها على ١٧ يوليو ٢٠١٧  ·  4تعليقات  ·  مصدر: react-dnd/react-dnd

المثال هو:

return connectDragSource(connectDropTarget(
      <div style={{ ...style, opacity }}>
        {text}
      </div>
    ));

لكن باستخدام الطرق البديلة للاتصال ، مثل مرجع عابر (باستخدام innerRef لأنني أستخدم styled-components ) ، إذا قمت بما يلي:

return (
      <MyElement 
        innerRef={instance => connectDragSource(connectDropTarget(findDOMNode(instance)))}
        style={{ ...style, opacity }}
      >
        {text}
      </MyElement>
);

تعمل المكالمة الداخلية فقط (في هذه الحالة ، connectDropTarget ، لكن إذا قمت بتبديل connectDropTarget و connectDragSource ، فعندئذٍ فقط connectDragSource ستعمل).

هذا يعمل ، على الرغم من:

return (
      <MyElement 
        innerRef={instance => {
          const domNode = findDOMNode(instance)
          connectDragSource(domNode)
          connectDropTarget(domNode)
        }}
        style={{ ...style, opacity }}
      >
        {text}
      </MyElement>
);

اي سبب لماذا؟

wontfix

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

أي أخبار بشأن هذه المسألة ؟

ال 4 كومينتر

أي أخبار بشأن هذه المسألة ؟

سيكون رائعًا إذا كان React DnD يعمل مع Styled-Components (مع innerRef) وليس فقط مع عناصر div الأصلية.

أتساءل كيف يحدث هذا ، لأنه من المفترض أن تقوم وظائف الموصل بإرجاع ReactElement المستنسخة ، ومن الغريب أنها تعمل بشكل جيد في سياق العرض. مهتم بسماع التفسير إذا حدث ظهور. :-)

تم وضع علامة على هذه المشكلة تلقائيًا على أنها قديمة نظرًا لعدم وجود نشاط حديث لها. سيتم إغلاقه إذا لم يحدث أي نشاط آخر. شكرا لمساهماتكم.

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

القضايا ذات الصلة

dwjohnston picture dwjohnston  ·  3تعليقات

rubayethossain picture rubayethossain  ·  3تعليقات

BrennanRoberts picture BrennanRoberts  ·  3تعليقات

FutureProg picture FutureProg  ·  3تعليقات

bebbi picture bebbi  ·  3تعليقات