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
Input
component. Since thefocus
state is implemented in the nativeinput
, to remove the focus it's a common pattern to retrieve theDOM
element instance using aref
offindDOMNode
and to callblur()
over the given element. This way, anInput
component that is rendering a nativeinput
would typically have bothblur
andfocus
methods.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
withRef
to indicate if the wrapper should render with a reference. Then you can usegetWrappedInstance
to get the instance.Example: