React-dnd: L'exemple triable ne fonctionne pas en passant ref

Créé le 17 juil. 2017  ·  4Commentaires  ·  Source: react-dnd/react-dnd

L'exemple est :

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

Mais en utilisant les autres moyens de se connecter, comme passer une référence (en utilisant innerRef parce que j'utilise styled-components ), si je le fais :

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

Seul l'appel interne fonctionne (dans ce cas, connectDropTarget , mais si j'échange connectDropTarget et connectDragSource , alors seul connectDragSource fonctionnera).

Cela fonctionne, cependant:

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

Une raison pourquoi ?

wontfix

Commentaire le plus utile

Des nouvelles sur ce problème ?

Tous les 4 commentaires

Des nouvelles sur ce problème ?

Ce serait formidable si React DnD fonctionne avec Styled-Components (avec innerRef) et pas seulement avec des éléments div natifs.

Je me demande comment cela se passe, car les fonctions du connecteur sont censées renvoyer un ReactElement cloné, et c'est étrange que cela fonctionne bien dans un contexte de rendu. Intéressé d'entendre l'explication si elle devait apparaître. :-)

Ce problème a été automatiquement marqué comme obsolète car il n'a pas eu d'activité récente. Il sera fermé si aucune autre activité ne se produit. Merci pour vos contributions.

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

antoineBernard picture antoineBernard  ·  3Commentaires

bebbi picture bebbi  ·  3Commentaires

BrennanRoberts picture BrennanRoberts  ·  3Commentaires

redochka picture redochka  ·  3Commentaires

Okami92 picture Okami92  ·  3Commentaires