React-dnd: Comment savoir si vous ne survolez PAS une cible de dépôt

Créé le 22 janv. 2016  ·  2Commentaires  ·  Source: react-dnd/react-dnd

J'essaie de déclencher des actions redux qui aident à suivre divers états DnD dans le monde. J'ai besoin de savoir si le glissement se produit et quel type de cible (idéalement exactement quelle cible) est survolé. La détection du glissement est assez facile en utilisant les spécifications de la source, mais je ne peux pas comprendre comment détecter le survol d'une cible. Il a la méthode 'hover' dans la spécification, mais cela se déclenche en continu, et pour autant que je sache, il n'y a pas de moyen de savoir quand le survol s'arrête. Je pourrais utiliser des délais d'attente mais cela semble loin d'être idéal. J'avais pensé à envelopper la zone principale de l'application dans un dropTarget et à utiliser une vérification `` superficielle '', mais cela ne donne pas d'informations sur le type de cible de dépôt en cours de survol. Je soupçonne qu'il y a une façon dont je pourrais exploiter le contexte DnD mais je n'ai pas creusé jusqu'ici.

question

Commentaire le plus utile

Vous pouvez utiliser les méthodes de cycle componentWillReceiveProps vie nextProps.isOver !== this.props.isOver . Vous auriez besoin d'ajouter isOver: monitor.isOver() à votre DropTarget de collect() fonction.

Tous les 2 commentaires

Peut-être être capable de lier mes propres événements onDrag* pour faire ce dont j'ai besoin. Ajoute une légère interdépendance entre le code de mon application et react-dnd , en termes d'hypothèses sur le backend de glisser que j'utilise. Mais probablement bien.

Vous pouvez utiliser les méthodes de cycle componentWillReceiveProps vie nextProps.isOver !== this.props.isOver . Vous auriez besoin d'ajouter isOver: monitor.isOver() à votre DropTarget de collect() fonction.

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