例は次のとおりです。
return connectDragSource(connectDropTarget(
<div style={{ ...style, opacity }}>
{text}
</div>
));
ただし、次の場合は、別の接続方法を使用します。たとえば、参照を渡す( styled-components
を使用しているためinnerRefを使用します)。
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>
);
理由は何ですか?
この問題に関するニュースはありますか?
React DnDがネイティブのdiv要素だけでなくStyled-Components(innerRefを使用)で機能するのは素晴らしいことです。
コネクタ関数は複製されたReactElementを返すことになっているので、これがどのように起こっているのだろうかと思います。レンダリングコンテキストで正常に機能するのは奇妙です。 何かあったら説明を聞いてみたい。 :-)
この問題は、最近のアクティビティがないため、自動的に古いものとしてマークされています。 それ以上のアクティビティが発生しない場合は閉じられます。 貢献していただきありがとうございます。
最も参考になるコメント
この問題に関するニュースはありますか?