React-dnd: Wie man erkennt, wenn man NICHT über einem Drop-Ziel schwebt

Erstellt am 22. Jan. 2016  ·  2Kommentare  ·  Quelle: react-dnd/react-dnd

Ich versuche, Redux-Aktionen auszulösen, mit denen verschiedene DnD-Zustände weltweit verfolgt werden können. Ich muss wissen, ob das Ziehen stattfindet und welche Art von Ziel (idealerweise genau welches Ziel) schwebt. Das Erkennen von Ziehen ist anhand der Quellenspezifikation einfach genug, aber ich kann nicht herausfinden, wie Schweben auf einem Ziel erkannt werden kann. Es hat die 'Hover'-Methode in der Spezifikation, aber diese wird kontinuierlich ausgelöst, und soweit ich das beurteilen kann, gibt es keine Möglichkeit zu erkennen, wann der Hover stoppt. Ich könnte Timeouts verwenden, aber das scheint weniger als ideal. Ich hatte überlegt, den Haupt-App-Bereich in ein dropTarget zu verpacken und die 'flache' Überprüfung zu verwenden, aber das gibt keine Auskunft darüber, welche Art von Drop-Ziel schwebt. Ich vermute, dass ich den DnD-Kontext auf irgendeine Weise ausnutzen könnte, habe mich aber noch nicht so weit eingegraben.

question

Hilfreichster Kommentar

Sie können componentWillReceiveProps Lifecycle-Methoden verwenden und eine Aktion auslösen, wenn nextProps.isOver !== this.props.isOver . Sie müssten isOver: monitor.isOver() zu Ihrer DropTarget collect() -Funktion hinzufügen.

Alle 2 Kommentare

Könnte in der Lage sein, meine eigenen onDrag* -Ereignisse zu binden, um das zu tun, was ich brauche. Fügt eine leichte Interdependenz zwischen meinem App-Code und react-dnd , was die Annahmen betrifft, welches Drag-Backend ich verwende. Aber wahrscheinlich in Ordnung.

Sie können componentWillReceiveProps Lifecycle-Methoden verwenden und eine Aktion auslösen, wenn nextProps.isOver !== this.props.isOver . Sie müssten isOver: monitor.isOver() zu Ihrer DropTarget collect() -Funktion hinzufügen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen