Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I think I've found two race conditions where dragging nodes too quickly results in errors.
Case 1:
Uncaught TypeError: Cannot read property 'path' of null at dnd-manager.js:240
How to reproduce:
"Uncaught TypeError: Cannot read property 'path' of null at dnd-manager.js:240"
Apparently what happens is that the animation frame code gets called after the drag is already over, and
monitor.getItem()
returnsnull
.Case 2:
Encountered two children with the same key
warning from ReactHow to reproduce:
getNodeKey
which uses ids) with ChromeWarning: Encountered two children with the same key, 'nodeA'.
from ReactIt looks like drop has been called (so the dragged node has been added back to tree), but after the same animation frame code runs, "draggedNode" is set to the already-dropped node... which is then rendered again, and for a short duration (not visible), there are two nodes with same key in the tree...