Handling External Function Imports
This might be a rather general question on how to handle imports of external functions and exporting functions. So I have a component like this: import React, {Component} from 'r
Solution 1:
One could import multiple methods at once like this:
import * as path from"./path";
classFoo { }
Then we can assign them as static methods:
Object.assign( Foo, path );
or as prototype methods:
Object.assign( Foo.prototype, path );
If you want to bind the context its a bit more difficult. That could be done in the constructor:
import * as path from"./path";
classFoo {
constructor(){
for(var key in path) this[key] = path[key].bind(this);
}
//...
}
Or if you just want a few functions to be bound ( maybe faster ) :
import * as path from"./path";
classFoo {
constructor(){
const bind = ["onClick","onResize"/* whatever*/];
for(var key of bind) this[key] = this[key].bind(this);
}
}
Object.assign(Foo, path.prototype);
Solution 2:
as an alternative design, you may consider a mixin, eg something like:
letclickable = (superclass) => classextends superclass {
constructor(props) { super(props); };
handleClick = () => { console.log( "clicked ", this ); };
};
classFooextendsclickable(Component) {
constructor(props) { super(props); this.state = { ... };};
render() { return<divonClick={this.handleClick}>foobar</div>; }
}
Post a Comment for "Handling External Function Imports"