Contohnya adalah:
return connectDragSource(connectDropTarget(
<div style={{ ...style, opacity }}>
{text}
</div>
));
Tetapi menggunakan cara alternatif untuk terhubung, seperti ref yang lewat (menggunakan innerRef karena saya menggunakan styled-components
), jika saya melakukannya:
return (
<MyElement
innerRef={instance => connectDragSource(connectDropTarget(findDOMNode(instance)))}
style={{ ...style, opacity }}
>
{text}
</MyElement>
);
Hanya panggilan dalam yang berfungsi (dalam hal ini, connectDropTarget
, tetapi jika saya menukar connectDropTarget
dan connectDragSource
, maka hanya connectDragSource
akan berfungsi).
Ini berfungsi, meskipun:
return (
<MyElement
innerRef={instance => {
const domNode = findDOMNode(instance)
connectDragSource(domNode)
connectDropTarget(domNode)
}}
style={{ ...style, opacity }}
>
{text}
</MyElement>
);
Ada alasan mengapa?
Ada berita tentang masalah ini?
Akan sangat bagus jika React DnD bekerja dengan Styled-Components (dengan innerRef) dan tidak hanya elemen div asli.
Saya bertanya-tanya bagaimana ini terjadi, karena fungsi konektor seharusnya mengembalikan ReactElement yang dikloning, dan aneh bahwa itu berfungsi dengan baik dalam konteks rendering. Tertarik untuk mendengar penjelasan jika ada yang harus muncul. :-)
Masalah ini secara otomatis ditandai sebagai basi karena tidak ada aktivitas terbaru. Ini akan ditutup jika tidak ada aktivitas lebih lanjut yang terjadi. Terima kasih atas kontribusi Anda.
Komentar yang paling membantu
Ada berita tentang masalah ini?