react-use-decorator
Version:
React Component decorator for load webpack useables
26 lines (20 loc) • 778 B
JavaScript
function use(...requires) {
return (ComposedComponent) => {
let componentWillMount = ComposedComponent.prototype.componentWillMount;
ComposedComponent.prototype.componentWillMount = function() {
requires.forEach(r => r.use());
if (componentWillMount) {
componentWillMount.apply(this, arguments);
}
};
let componentWillUnmount = ComposedComponent.prototype.componentWillUnmount;
ComposedComponent.prototype.componentWillUnmount = function() {
requires.forEach(r => r.unuse());
if (componentWillUnmount) {
componentWillUnmount.apply(this, arguments);
}
};
return ComposedComponent;
};
}
export default use;