hoist-react-instance-methods
Copies specific methods from a child instance to a parent instance. Can be useful in Higher Order Components.
Motivations
It's recommented to use Higher Order Components (HOC) over mixins
and over context
https://medium.com/@dan_abramov/mixins-are-dead-long-live-higher-order-components-94a0d2f9e750 https://facebook.github.io/react/blog/2016/07/13/mixins-considered-harmful.html https://twitter.com/dan_abramov/status/749715530454622208/photo/1
But sometimes HOC is burdensome
Example
// some fake HOCs@@@ { return thisinput; } { return <label> <input ref= thisinput = input /> </label> ; } { // WTF!!! This is not an awesome Input!!! thisawesomeInput; } { return <MyAwesomeInput ref= thisawesomeInput = input /> ; }
With hoist-react-instance-methods
@@@@ { return thisinput; } { return <div> <input ref= thisinput = input /> </div> ; } { // Awesome! thisawesomeInput; } { return <MyAwesomeInput ref= thisawesomeInput = input /> ; }
Usage
; TargetComponent; // `getInstance` example:// const getInstance = (instance) => instance.refs.app;
Arguments
getInstance
(Function): Get the ref element. The only argumentinstance
is the instance ofTargetComponent
. Should return a component instancemethods
([String]): Specify method names to be copied
Returns
A higher-order React component class
Installation
yarn add hoist-react-instance-methods
License
MIT