React-dnd: le composant est nul dans beginDrag ?

Créé le 9 sept. 2016  ·  5Commentaires  ·  Source: react-dnd/react-dnd

La documentation indique que _component_ est passé à beginDrag (3ème paramètre), mais il semble être nul lorsqu'il est appelé ? Je ne sais pas si c'est quelque chose que je fais mal. Si cela peut aider, mon composant est à la fois une source de glissement et une cible de glissement.

Ce que je veux faire, c'est obtenir la hauteur de mon composant à l'intérieur de beginDrag, ce n'est pas quelque chose que je peux dériver des accessoires passés, j'ai donc besoin d'accéder au composant.

wontfix

Commentaire le plus utile

Il s'avère que le problème est que DnD n'aime pas les composants sans état :(

j'ai changé

const SortableListItem = (props) => {

à

class SortableListItem extends Component {

et _component_ est maintenant correctement passé à beginDrag. Il vaut la peine de mentionner que le composant sans état fonctionnait comme prévu, il était donc assez confus de savoir pourquoi _component_ est nul dans beginDrag.

Cela peut valoir la peine de mettre à jour la documentation de beginDrag pour indiquer que DnD ne fonctionne pas avec les composants sans état (en supposant que cela ne puisse pas être corrigé).

Tous les 5 commentaires

Il s'avère que le problème est que DnD n'aime pas les composants sans état :(

j'ai changé

const SortableListItem = (props) => {

à

class SortableListItem extends Component {

et _component_ est maintenant correctement passé à beginDrag. Il vaut la peine de mentionner que le composant sans état fonctionnait comme prévu, il était donc assez confus de savoir pourquoi _component_ est nul dans beginDrag.

Cela peut valoir la peine de mettre à jour la documentation de beginDrag pour indiquer que DnD ne fonctionne pas avec les composants sans état (en supposant que cela ne puisse pas être corrigé).

Oof, je viens de perdre quelques cycles là-dessus aussi (sauf avec le rappel hover() place). Merci beaucoup d'avoir posté ceci... Je n'avais aucune idée de l'endroit où chercher.

J'ai également rencontré cela tout à l'heure - je pense que le problème est que les composants sans état n'ont pas d'instance publique . React-dnd devra peut-être modifier la façon dont ils utilisent les références, car receiveComponent est appelé avec null

Cela m'est arrivé lors de la mise react-redux niveau de DragSource encapsulant directement un composant connect ed.

Solution de contournement : inversez l'ordre de DragSoruce et connectez-vous. :-/

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