I am assuming, though I don't know for sure, that while a react-dnd drag is going on, it is possible for the handler of an async event [such as a setTimeout handler or the receipt handler of a websocket message] to get scheduled on the event loop. Please correct me if I am wrong and the event loop is not yielded while a drag is in progress.
If in fact the event loop can be yielded to async event handlers in the middle of a drag, and if it so happens that the event handler needs to mutate the drag source, how should this situation be resolved? Perhaps the mutation of the drag source in the middle of a drag is disallowed by the react-dnd framework. If such a mutation is allowed, confusion could ensue for the user.
A simple strategy to follow in such a case would be to cancel the drag and inform the user that a higher priority event needed to be taken care of that pre-empted the drag. Is it possible to cancel the drag programmatically in such cases?
Many thanks.
Azad