Fix #707: passing nodeRef prop causes dragging to become jittery #718
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.
Proposed solution
Fixes new issue related to #707
In strict mode, react warns that React-Draggable's usage of
ReactDOM.findDOMNode()is deprecated. Passing thenodeRefprop to<Rnd />silences the error, but causes dragging to become jittery. This is because React-Draggable expects thenodeRefto reference its top level child, which is actually the<div>rendered by re-resizable.Instead of allowing a
nodeRefto be passed to react-rnd, we can pass the resizable ref usingRnd.prototype.getSelfElement(). Since React-Draggable expects a ref object, it is passed as thecurrentvalue of an object like this:This PR also removes documentation from the react-rnd
README.mdthat references allowing users to passnodeRef.Tradeoffs
React-Draggable still works if we don't pass it the resizable ref, but React will log a big deprecation warning.
Testing Done
All storybooks still worked and all tests passed.