Get wrapped instance #10
Merged
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.
This PR adds a new method for the decorator component that allows to retrieve a reference from the decorated component. This is useful for use cases where the component has imperative methods that can be called from a parent.
The most straightforward case is an
Inputcomponent. Since thefocusstate is implemented in the nativeinput, to remove the focus it's a common pattern to retrieve theDOMelement instance using arefoffindDOMNodeand to callblur()over the given element. This way, anInputcomponent that is rendering a nativeinputwould typically have bothblurandfocusmethods.Decorating this kind of component doesn't allow to access the ref to call instance methods so we followed the same pattern as react-redux. Since functional components cannot hold refs, you can pass from now on a new parameter
withRefto indicate if the wrapper should render with a reference. Then you can usegetWrappedInstanceto get the instance.Example: