React-dnd: Contoh yang dapat diurutkan tidak berfungsi dengan melewati ref

Dibuat pada 17 Jul 2017  ·  4Komentar  ·  Sumber: react-dnd/react-dnd

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?

wontfix

Komentar yang paling membantu

Ada berita tentang masalah ini?

Semua 4 komentar

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.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat